wwarthen / RomWBW

System Software for Z80/Z180/Z280 Computers
GNU Affero General Public License v3.0
323 stars 93 forks source link

NABU Personal Computer integration - nabu.asm and nabukb.asm contain … #393

Closed lesbird closed 3 months ago

lesbird commented 3 months ago

…code to support the NABU hardware.

PR contains code and modified code to support the NABU personal computer.

NABU.ASM is optional and included for future updates to support an interrupt timer that will also call in to HB_TICK to update the RomWBW timer. At the moment with the current hardware this does not work and the interrupt never gets called.

NABUKB.ASM is the code to support the NABU keyboard. The NABU keyboard has a watchdog timer that sends $80 every 3 or so seconds. The only way to filter this out is to read the data port and check for the watchdog timer byte and replace it with a $FF before returning to the RomWBW keyboard code. This drove me crazy as I had no idea why I was getting random bytes from the keyboard. After reading the NABU documentation I discovered the issue and was able to work around it.

wwarthen commented 3 months ago

Thanks @lesbird. I'll get this merged tomorrow.

-Wayne

wwarthen commented 3 months ago

Thanks again @lesbird. All of your changes look fine and I am about to merge them. There are a few things that I would like to tweak just for improved consistency with existing RomWBW stuff. Hope that is OK.

Thanks!

Wayne