Nabu PC, an 80's computer very similar to MSX

Page 3/4
1 | 2 | | 4

Par retrocanada76

Hero (575)

Portrait de retrocanada76

15-02-2023, 09:45

Well I got a NABU and made a MSX rom loader for it.

I got the MSXROM and stripped all unavailable hardware like cassette, slots, etc and converted all the ports and mangled the strange serial keyboard interrupt into it. The result is you can load many pure-bios games like shown here.

https://www.youtube.com/watch?v=zkpUEMRdsc8

It's is pretty better now, thexder, goonies, guardic, magical tree, pippols, road fighter, sky jaguar, twinbee, zanac, king's valley, knightmare and many other yet to be tested.

Galaga still freezes and it's a soft freeze, the game has some heartbeat and somehow everything stop updating, but not the heartbeat. Still a mistery.

Strangely the knightmare between these is the only one to present graphics glitches like the speed of vdp writing was too fast. Maybe there is a clock difference ? or bus / interrupt contention ? The glitches don't happen in mame. All the other games run pretty well, Zanac sprites flickering look the same to me.

Is there any rom for vdp timing out there that I could test on the real nabu ?

Par retrocanada76

Hero (575)

Portrait de retrocanada76

15-02-2023, 09:54

I patched Knight Lore and this one was pain. This game is a Zx Spectrum port in ROM format but it completely disables the interrupts and uses the stack pointer to copy the graphics. Any interrupt and you corrupt the code data.

So I have to enable the keyboard interrupt in some areas and do a polling in others. The keyboard / joystick gets a bit irresponsive (what is fatal in this game).

I will try to patch the Knightmare adding nops, to slowdown the vram writes to find out more about it.

Par gdx

Enlighted (6422)

Portrait de gdx

15-02-2023, 10:27

Nice, you give a second life to this Nabu PC.

retrocanada76 wrote:

Strangely the knightmare between these is the only one to present graphics glitches like the speed of vdp writing was too fast. Maybe there is a clock difference ? or bus / interrupt contention ?

I had the same problem with a few Coleco games when I converted some for MSX. I didn't understand at all but now think that the timings are a bit different depending on when you access the VDP. For example, during vblank we can make accesses a bit faster, but there must be times when the VDP needs more or less a bit more time off vblank. So if the developer has set very fair waiting times, it may be that when access to the VDP is no longer done at the same time because of patches, that the times become too short.

Try to locate the routine in question and add a little time.

It is also possible that interrupts sometimes occur at the wrong time, or that your loader modifies places that it should not in the Bios or the ROM..

Par alexito

Paladin (761)

Portrait de alexito

19-02-2023, 09:19

This guy did something great for the MSX users

https://youtube.com/shorts/1D0QLUWhPu4

:RNFF:

Par gdx

Enlighted (6422)

Portrait de gdx

19-02-2023, 14:15

Maybe OpenMSX should also emulate this computer.

Par Manuel

Ascended (19676)

Portrait de Manuel

19-02-2023, 21:18

I've taken a quick look. But the keyboard and way to load software is rather non-trivial and yam working on other things at the moment. But if someone is interested, please help. I did make a basic PSG connection class already.

Par Metalion

Paragon (1628)

Portrait de Metalion

20-02-2023, 09:15

gdx wrote:

I had the same problem with a few Coleco games when I converted some for MSX. I didn't understand at all but now think that the timings are a bit different depending on when you access the VDP. For example, during vblank we can make accesses a bit faster, but there must be times when the VDP needs more or less a bit more time off vblank. So if the developer has set very fair waiting times, it may be that when access to the VDP is no longer done at the same time because of patches, that the times become too short.

Maybe it has to do with the WAIT state ? If the Nabu's Z80 does not use WAIT state, then all instructions are at least 1 T-state quicker, and VDP timing might be off. For example:

outi
jp nz,$-2

would be 26 T-states instead on 29 for an MSX.

Par Mark_G

Supporter (2)

Portrait de Mark_G

25-06-2023, 18:38

Hello,

I bought recently a NABU PC, with the intention to master CP/M. A CP/M machine was in the old days way too expensive for my parents.
I also played some games on the NABU emulator.
Personally, I like the MSXROM program very much, and find it a really nice piece of software.
However, I tried also Pooyan with MSXROM on the emulator, but it always stalled.

Is there a possibility to see this resolved ?

Greetings from Belgium
Mark

Par gdx

Enlighted (6422)

Portrait de gdx

26-06-2023, 09:40

Metalion wrote:

Maybe it has to do with the WAIT state ? If the Nabu's Z80 does not use WAIT state, then all instructions are at least 1 T-state quicker, and VDP timing might be off.

I never had an overview of the programs of the coleco games that I patched because I worked directly in machine language or with a debugger. I think the problem is the interruptions. I also suspected that the timings may vary depending on the state of the VDP (not just the screen mode).

Metalion wrote:
outi
jp nz,$-2

I've never had a problem on the TMS9918 with this. Most coleco games have been tested for long hours and by many people.

Par CopperPod

Resident (36)

Portrait de CopperPod

21-08-2023, 16:58

Recently, there were a few hunded new old stocks cheaply for sale in Massachusetts.
eBay Nabu PC NOS

I missed out. As often; too late and as always; too little money. But I suppose, that in the near future there will be even cheaper ones available, when all those hopefuls give up tinkering. :hannibal:

Page 3/4
1 | 2 | | 4