HA8-3 Game Library - Over 100 games and counting!

119 views
Skip to first unread message

Les Bird

unread,
Jun 1, 2024, 5:47:42 PMJun 1
to SEBHC
Hi all,

For those that don't follow Discord I wanted to make an announcement here.

I've just increased the HA8-3 game library by over 100 games and counting. How did I do this? Read on...

So some of us know that the popular MSX computer has the same chips in it that the HA8-3 graphics card has. Namely the TMS9918 video chip and AY3-8910 sound chip. Not many games were made for the Heathkit Color Graphics card so what I did was make an "emulator" so to speak for the H8. It's a program that I call MSX8 (MSX for the H8). 

How does it work? Well I explained it all in detail on my Github page here: https://github.com/lesbird/MSX8

You can download the CP/M app and a zip file of almost 500 MSX game ROMs from there. Unzip MSX8.ZIP and copy all those files to your H8 computer. Then copy the game ROMs you want to play to your H8 computer and launch them like this:

>MSX8 GALAG204.ROM

I want to thank Rick Davis Jr. for helping me debug an issue on the standard Z80 CPU board. MSX8 worked fine on the RomWBW CPU board but we had to turn off the H8 front panel and UART interrupts to get it working on a standard XCON8/PAM37 based CPU board. Also Mark Garlanger chimed in with some helpful info as well.

So in a nutshell here's what I did...

I modified the MSX BIOS source code to use the HA8-3 graphics card I/O ports (270Q for VDP and 272Q for PSG). I then added some code to it to read the HA8-3 joysticks and translate them to MSX controls. Once that was done I wrote a program for CP/M that loads this modified BIOS along with a game ROM. It loads the modified MSX BIOS into low memory at 0000H where it belongs and loads the game ROM at 4000H where MSX computers expect to find it. What this does is it turns the H8 computer into a MSX computer and launches the game. As long as the game was written in a proper manner to use the MSX BIOS for graphics and sound it'll happily run on the H8 because now the H8 is an MSX computer.

The MSX game library is massive. Not all games will run however because some of the ROMs were written in BASIC and I am not loading the BASIC interpreter but for the games that go directly to ASM and use the BIOS and joystick, they work great.

Here's a list of working titles so far: https://github.com/lesbird/MSX8/blob/main/romlist.md

I am slowly going through each game and updating this list as I go. Some of the more popular games work really really well. Screen shots...

For those who have the HA8-3 or compatible graphics card, happy gaming!


PACMAN.JPG

PACMAN2.JPG

BOSCONIAN.JPG

GALAGA2.jpg

DIGDUG.jpg

Glenn Roberts

unread,
Jun 1, 2024, 7:23:10 PMJun 1
to se...@googlegroups.com
So this is really amazing work Les and I really want to thank for doggedly working this issue until you emerged victorious!  The HA-8-3 was a brilliantly engineered board that came just a little bit late to the party and very little software was ever written for it. This opens up a whole new world! We are forever indebted to you for your efforts!

- Glenn




Sent from my iPad

On Jun 1, 2024, at 5:47 PM, Les Bird <lesb...@gmail.com> wrote:

Hi all,
<PACMAN.JPG>


<PACMAN2.JPG>


<BOSCONIAN.JPG>

<GALAGA2.jpg>


<DIGDUG.jpg>

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/4e0019be-b1f0-4eec-8dd7-957c172264e9n%40googlegroups.com.
<BOSCONIAN.JPG>
<PACMAN.JPG>
<GALAGA2.jpg>
<DIGDUG.jpg>
<PACMAN2.JPG>

smb...@gmail.com

unread,
Jun 2, 2024, 12:00:49 PMJun 2
to SEBHC
This is very cool. I think HA-8-3 is the one board I have not built yet (why??? It's got to be one of the cooler ones! why did I skip it?). I'm going to have to order a pcboard, build it up, and try it out!

Les, any plan to port MSX8 to HDOS? From the message above I assume it's CP/M only. There's something cool about taking HDOS as far as one can take it.

Scott

Glenn Roberts

unread,
Jun 2, 2024, 12:19:15 PMJun 2
to se...@googlegroups.com
To be clear, the MSX operating environment completely takes over the machine, it doesn’t sit on top of an OS. The purpose of MSX8.COM is to first properly configure the hardware and then load the MSX environment. In the process it commits suicide to the entire CP/M operating system.

I haven’t yet looked at Les’ code but presumably one could write a version for HDOS. Zero ORG capability is a requirement however


Sent from my iPad

On Jun 2, 2024, at 12:00 PM, smb...@gmail.com <smb...@gmail.com> wrote:

This is very cool. I think HA-8-3 is the one board I have not built yet (why??? It's got to be one of the cooler ones! why did I skip it?). I'm going to have to order a pcboard, build it up, and try it out!

Les Bird

unread,
Jun 2, 2024, 1:36:29 PMJun 2
to SEBHC
Yeah Glenn is right, the memory is really tight. I load the MSX BIOS into a temporary area from 0100H to 03F00H (almost 16K) and then load the ROM starting at 4000H up to C000H depending on ROM size (up to 32K). Once all file I/O is complete there's no need for CP/M anymore so I move everything where it needs to be, MSX BIOS down to 0000 and I initialize high memory (C000H and above) area to make the H8 look like an MSX computer. This along with moving the BIOS down obliterates CP/M. After all the memory is organized the game can launched.

I don't think this will be possible with HDOS as it sits in the middle of RAM so there's no consecutive memory area large enough that I can use to load the BIOS and game ROM.

Les

Joseph Travis

unread,
Jun 2, 2024, 1:51:08 PMJun 2
to se...@googlegroups.com
Just a thought -

Someone could possibly create a bootloader for the MSX BIOS and ROM using the XCON8 ROM...  No need to load CP/M or HDOS.

Joseph Travis

unread,
Jun 2, 2024, 1:55:11 PMJun 2
to se...@googlegroups.com
Of course I didn't think that all 'the way through before I pressed the send button...

Another half baked thought would be similar to the H8DUTILITY.

Glenn Roberts

unread,
Jun 2, 2024, 1:58:49 PMJun 2
to <sebhc@googlegroups.com>
Or for users with the Rev 4 cpu board this is the kind of thing that would lend itself to a .SYS file then just boot V:MSX8 and you're up and running. I'll take a look at that...

smb...@gmail.com

unread,
Jun 2, 2024, 2:03:27 PMJun 2
to SEBHC
Understood about obliterating the OS, and that you need to keep the OS around just long enough to do all the disk reading (for which HDOS has a variety of potential device drivers). I was hoping the same shenanigans could be applied to load the ROM and BIOS wherever it will fit in RAM, and then move it into place once the OS is no longer needed. It's been a long time since I looked at the HDOS memory map though, but my naive assumption was that if it worked for CP/M, it could be done for HDOS.

Scott

smb...@gmail.com

unread,
Jun 2, 2024, 2:08:01 PMJun 2
to SEBHC
Also, what's especially cool about what Les as done is that it sounds like all this is doable on period-accurate hardware (with Z80 CPU board, I assume, not 8080). It would be simpler to do this with one of our modern banked / memory-mapped boards. But that this was done with XCON8 is what is really nifty.

Scott

Glenn Roberts

unread,
Jun 2, 2024, 2:49:52 PMJun 2
to se...@googlegroups.com
I plan to try this all out with original z80 and ha-8-3 hardware. I believe z80 is part of the MSX spec.(?) but I think Joe got something to work on an 8080?

Sent from my iPad

On Jun 2, 2024, at 2:08 PM, smb...@gmail.com <smb...@gmail.com> wrote:

Also, what's especially cool about what Les as done is that it sounds like all this is doable on period-accurate hardware (with Z80 CPU board, I assume, not 8080). It would be simpler to do this with one of our modern banked / memory-mapped boards. But that this was done with XCON8 is what is really nifty.

Richard Davis Jr.

unread,
Jun 2, 2024, 2:55:01 PMJun 2
to se...@googlegroups.com
Glenn,
I think the msx required z80 interrupt mode 1. All interrups go through 0x0038. Les had vdp working in im 0 but for that, the vdp needs to be set for irq 7.

Rick


Les Bird

unread,
Jun 2, 2024, 4:26:21 PMJun 2
to SEBHC
Z80 is definately required. All of the MSX BIOS is in Z80 ASM.

Scott, yes period accurate hardware. I plan on getting this runing on the NABU as well. A stock H8 Z80 at 2MHz might run the games a bit slow as the MSX was a 3.5MHz machine. With my Z80++ and RomWBW Z80 board I drop the speed down to 4MHz when I launch the games. The method I'm using should work on any CP/M system including the RC2014 as long as you have the TMS graphics card and AY3 sound card in it. On my Github is all the source code so you'll need to change the port definitions at the top of BIOS.ASM to point to whatever your graphics/sound ports are. I purposely wrote MSX8.ASM in 8080 ASM so that it can assembled with the standard CP/M assembler.

Les

Terry Smedley

unread,
Jun 2, 2024, 7:33:14 PMJun 2
to SEBHC
Great addition, Les!

When Norberto was working on his HA-8-3 card, he commented that what he really wanted was for his wife to be able to play PacMan.  Les's work makes that now possible.

I've confirmed that this works beautifully with Norberto's HA-8-3 card (when jumped for video interrupts on IRQ3).  It also works fine with the (XBee) wireless remotes that I constructed for Norberto's card.  With the TMS9928 output displayed on a projector and using the wireless remotes, I can lounge on the couch and drive the family nuts with the vintage sound effects.

Les has taken us from famine to feast with this explosion in usable software for the HA-8-3 and clones.

tas

Les Bird

unread,
Jun 2, 2024, 8:04:27 PMJun 2
to SEBHC
Thanks Terry, yes Pacman is fully playable now and is awesome!

I'm at 310 working games so far and counting. Most of them  playable with the joystick but some of them require the keyboard, which I have not implemented yet. The MSX keyboard maps down/up states for the keys into an array. I just have to figure out how to map the H19/PC keyboard which do not have down/up states. Will keep thinking on it... in the meantime I am going through every single ROM and marking them as working or not working. Finding some real gems...

Les

Glenn Roberts

unread,
Jun 2, 2024, 10:03:59 PMJun 2
to se...@googlegroups.com
Great news all around!

Sent from my iPad

On Jun 2, 2024, at 8:04 PM, Les Bird <lesb...@gmail.com> wrote:

Thanks Terry, yes Pacman is fully playable now and is awesome!

Norby

unread,
Jun 3, 2024, 6:51:38 PMJun 3
to SEBHC
Thanks!  If I understand propelry, I can use the Z180 card @4MHz with the  HA-8-3 (Int3-enabled). Next step download  MSX8.ZIP and extract files to USB drive. Transfer all USB files to the H8 hard drive using VPIP.  Run  "MSX8 GALAG204.ROM" to get game started. How I build the joystick to play any game?

Thanks,
Norberto 

Les Bird

unread,
Jun 4, 2024, 10:12:05 AMJun 4
to SEBHC
Those are the correct steps, yes.

The easiest way to get joysticks working is for me to send you one of my joystick adapters. The only problem is on your board it'll only fit on one of the joystick connectors because the separation between the connectors are slightly different between your graphics board and mine. It should be fine though as the games are all playable with a single joystick. With this adapter you can plug in a 2x5 to DB9 cable and then use any off-the-shelf Atari style joystick with it.

I can also send you one of my H8-8-3 F18 graphics card PCBs if you want to build one which has this joystick adapter built-in.


IMG_4525.JPGIMG_4524.jpg
IMG_4522.JPG

Joseph Travis

unread,
Jun 4, 2024, 11:58:18 AMJun 4
to se...@googlegroups.com
Or you can do what I did and add the steering diodes to the back of the board. This allows you to use Atari style joysticks.

HA-8-3_Atari_Joystick_Mod.jpg

norberto.collado koyado.com

unread,
Jun 4, 2024, 11:59:35 AMJun 4
to se...@googlegroups.com
Thanks Les! I will take one of your joystick adapters . On your joystick adapter just send me the link to the schematics, so that I can have one that works with my board on all 4x headers.

From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Les Bird <lesb...@gmail.com>
Sent: Tuesday, June 4, 2024 7:12:05 AM
To: SEBHC <se...@googlegroups.com>
Subject: Re: [sebhc] HA8-3 Game Library - Over 100 games and counting!
 

Norby

unread,
Jun 4, 2024, 12:53:00 PMJun 4
to SEBHC
Thanks Joe! If I go this route, can I get cable pinout to connect joystick?

Joseph Travis

unread,
Jun 4, 2024, 8:27:40 PMJun 4
to se...@googlegroups.com
I'll send it to you when I get home tomorrow.


Joseph Travis

unread,
Jun 5, 2024, 11:51:32 PMJun 5
to se...@googlegroups.com
Here's the diagram I use with the HA-8-3-1 board and a link to an excellent joystick.



20240605_232636.jpg

norberto.collado koyado.com

unread,
Jun 6, 2024, 3:34:03 PMJun 6
to se...@googlegroups.com

Thanks!

 

From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Joseph Travis <jtravi...@gmail.com>
Date: Wednesday, June 5, 2024 at 8:51 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] HA8-3 Game Library - Over 100 games and counting!

Here's the diagram I use with the HA-8-3-1 board and a link to an excellent joystick.

 

 

 

 

On Tue, Jun 4, 2024 at 8:27PM Joseph Travis <jtravi...@gmail.com> wrote:

I'll send it to you when I get home tomorrow.

 

 

On Tue, Jun 4, 2024, 9:53 AM Norby <norberto...@koyado.com> wrote:

Thanks Joe! If I go this route, can I get cable pinout to connect joystick?

 

On Tuesday, June 4, 2024 at 8:58:18AM UTC-7 Joe Travis N6YPC wrote:

Or you can do what I did and add the steering diodes to the back of the board. This allows you to use Atari style joysticks.

 

On Tue, Jun 4, 2024, 7:12 AM Les Bird <lesb...@gmail.com> wrote:

Those are the correct steps, yes.

 

The easiest way to get joysticks working is for me to send you one of my joystick adapters. The only problem is on your board it'll only fit on one of the joystick connectors because the separation between the connectors are slightly different between your graphics board and mine. It should be fine though as the games are all playable with a single joystick. With this adapter you can plug in a 2x5 to DB9 cable and then use any off-the-shelf Atari style joystick with it.

 

I can also send you one of my H8-8-3 F18 graphics card PCBs if you want to build one which has this joystick adapter built-in.

 

 

Joseph Travis

unread,
Jun 6, 2024, 3:51:10 PMJun 6
to se...@googlegroups.com
In my haste, I had forgotten to connect pin 6 of the joystick.  Please refer to the attached diagram.

Joe


20240606_154014.jpg

Joseph Travis

unread,
Jun 6, 2024, 4:46:14 PMJun 6
to se...@googlegroups.com
BTW - The diodes are actually placed on the back of the HA-8-3-1 board (see attached photo). My apologies for the confusing looking diagram.

20231115_152410(new).jpg

Joseph Travis

unread,
Jun 6, 2024, 4:57:50 PMJun 6
to se...@googlegroups.com
Wow, it's been a long time since I originally made this modification and just realized that I had to isolate pin 4 of each connector on the HA-8-3-1 board from ground so it is connected to the joystick pin 6 (fire button) which grounds the cathodes of the diodes when the button is pressed.  It really does work Norberto, I've been using it over 1-2 years now.  This is what Les based his design upon.

BR,
Joe

norberto.collado koyado.com

unread,
Jun 7, 2024, 12:38:52 AMJun 7
to se...@googlegroups.com

Thanks for the update. I do not follow the diodes wiring. I see pin 4 on the HA-8-3 is GND which grounds pin 6  (Input Trigger” on the joystick. Also, it grounds the two diodes having a def voltage of 0.7v at pin 7 and pin 8…

 

How this circuit works?

 

Norberto

 

From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Joseph Travis <jtravi...@gmail.com>
Date: Thursday, June 6, 2024 at 12:51 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] HA8-3 Game Library - Over 100 games and counting!

In my haste, I had forgotten to connect pin 6 of the joystick.  Please refer to the attached diagram.

 

Joe

 

 

On Thu, Jun 6, 2024 at 3:34PM norberto.collado koyado.com <norberto...@koyado.com> wrote:

Thanks!

 

From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Joseph Travis <jtravi...@gmail.com>
Date: Wednesday, June 5, 2024 at 8:51 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] HA8-3 Game Library - Over 100 games and counting!

Here's the diagram I use with the HA-8-3-1 board and a link to an excellent joystick.

 

 

 

 

On Tue, Jun 4, 2024 at 8:27PM Joseph Travis <jtravi...@gmail.com> wrote:

I'll send it to you when I get home tomorrow.

 

 

On Tue, Jun 4, 2024, 9:53 AM Norby <norberto...@koyado.com> wrote:

Thanks Joe! If I go this route, can I get cable pinout to connect joystick?

 

On Tuesday, June 4, 2024 at 8:58:18AM UTC-7 Joe Travis N6YPC wrote:

Or you can do what I did and add the steering diodes to the back of the board. This allows you to use Atari style joysticks.

 

On Tue, Jun 4, 2024, 7:12 AM Les Bird <lesb...@gmail.com> wrote:

Those are the correct steps, yes.

 

The easiest way to get joysticks working is for me to send you one of my joystick adapters. The only problem is on your board it'll only fit on one of the joystick connectors because the separation between the connectors are slightly different between your graphics board and mine. It should be fine though as the games are all playable with a single joystick. With this adapter you can plug in a 2x5 to DB9 cable and then use any off-the-shelf Atari style joystick with it.

 

I can also send you one of my H8-8-3 F18 graphics card PCBs if you want to build one which has this joystick adapter built-in.

 

 

Error! Filename not specified.Error! Filename not specified.

Error! Filename not specified.

Joseph Travis

unread,
Jun 7, 2024, 8:53:28 AMJun 7
to se...@googlegroups.com
Pin 4 (of each connector) on the HA-8-3-1 board must be isolated from ground by cutting the traces.  If you look closely at the photo of the diodes mounted on the back of the board, you can see where I used a drill bit to cut the traces (look beneath the diode lead going to pin 4).  I believe I had to cut one trace on the component side.  BTW - The cathode connects to pin 4 of the board and pin 6 of the joystick.  When the "FIRE" button (trigger) is pressed, ground is applied to both LEFT and RIGHT switches.  (I used to have it going to UP and DOWN but Les changed it in his design and I followed suit.)

I believe pin 4 on the original HA-8-3 board from NOGDS was unused.

I hope this helps.  I apologise for it being so confusing - I was in a rush to get the info to you when I returned from my trip... it was late at night when I got home and sent it, then I still had "jet lag" when I followed up with the corrections.

BR,
Joe


Les Bird

unread,
Jun 7, 2024, 12:36:45 PMJun 7
to SEBHC
Norby, I sent your package yesterday with the joystick adapter. It seemed silly to just send a single adapter so I decided to send you a goody package with a bunch of other stuff as well including one each of my latest boards in case you want to build and try them out.


and more...

Les

norberto.collado koyado.com

unread,
Jun 7, 2024, 2:34:36 PMJun 7
to se...@googlegroups.com
Thanks, Les, for your support!👍
From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Les Bird <lesb...@gmail.com>
Sent: Friday, June 7, 2024 9:36:45 AM
To: SEBHC <se...@googlegroups.com>
Reply all
Reply to author
Forward
0 new messages