Gorf / WoW Programming and Other Fun Stuff

Commander Dave

Active member

Donor 8 years: 2013, 2016-2022
Joined
Jun 9, 2013
Messages
527
Reaction score
57
Location
Annville, Kentucky
I created this thread because someone was asking about some small programs I wrote for Gorf & Wizard of Wor a LONG time ago. It was in a repair thread so I moved it here.

The original thread was here somewhere: https://forums.arcade-museum.com/showthread.php?p=3730240

--Last Posts--

Originally Posted by Commander Dave
Well, you sure made me feel better! I should write a version [of a RAM test] that talks and tells you the error in case you can't read the screen. It's not that hard to make it talk. LOL
https://youtu.be/efwhMfpExZI

Originally Posted by TheGleek
awesome! how you do that? where's the source code? did you write it in C first?
then converted from C down to opcodes and placed the ML into hex bits on the rom images?

... and it continues. :)
 
Originally Posted by TheGleek
awesome! how you do that? where's the source code? did you write it in C first?
then converted from C down to opcodes and placed the ML into hex bits on the rom images?

Gosh, so many years ago let me see...

1. The Gorf & Wizard or Wor games have a Votrax speech chip in them that you feed it phonemes and it puts them together for words. There is a manual with all the sounds from a different product they made (I still have it). So, I disassembled the Z80 code that does that and made my own little routine, compiled it and burned it into the first chip of the game. Lo and behold, it talks. I messed up a few words but I was rather happy with it.

2. I still have all the source code but I am not a programmer. It is excessively commented (a good bit probably wrong) as I was intending as a learning exercise.

3. I wrote it in native Z80 assembler. I didn't know C well enough and still don't. Just not a programmer. :-(

4. I wrote some small batch files that would compile the code, make a hex file, have a small utility turn it into a binary file and load it into MAME to test. Now, the speech didn't work at the time because of the way MAME made it talk (recorded words) and there was differences in MAME and the real hardware like the watchdog timer. So, what worked in MAME needed tweaking for real hardware.

5. If it worked in MAME, I took the binary file and burned it into the first chip and tested. Rinse and repeat until it worked on real hardware.

I also did other things. I had a ROM that would play the game normally but if you flipped the service switch it would look for a ROM in one of the empty slots. If it found a certain code, it would jump to that code and run it. Once the switch was turned back, the game started normally again. I also played with the interrupt system. There is actually a lot of documentation on the "Astrocade" hardware.

Well, that's long enough of a post. I think I will dig out the source so you can check it out. But as I said, I am not a programmer. Mark S. once told me "You write some funky ass code". :p Also, what takes me about a month to figure out takes less than a few days for some others. Ah, but it was fun!

-Commander Dave
 
I created this thread because someone was asking about some small programs I wrote for Gorf & Wizard of Wor a LONG time ago. It was in a repair thread so I moved it here.

(Commented) source code for my Gorf tester is up at:

http://ionpool.net/arcade/tech/gorftest.zip

Never did get the pattern board tester to work right... I think I figured out the problem, but never sat down and recoded it.

Also it'll fail the "protected" part of the SRAM since I don't 'unlock' it before writing -- that wasn't properly implemented in MAME 12 years ago.

I don't remember which assembler I was using at the time, so you may need to change the directives to reassemble it.
 
Last edited:

Attachments

  • gortsramfix.zip
    344 bytes · Views: 19
#3 - Nothing wrong here. I still don't know C and don't want to
know it. I could bang out Z80 code in my head when I was still
using it.

#4 - That's how I developed for the Vectrex in the beginning. I would
code in AS09 (6809) then a batch file would compile it and download it
to an EProm emulator connected to a real Vectrex. When the emulators
came out I used them for 90% of the testing but always finished/tested
on real hardware.


3. I wrote it in native Z80 assembler. I didn't know C well enough and still don't. Just not a programmer. :-(

4. I wrote some small batch files that would compile the code, make a hex file, have a small utility turn it into a binary file and load it into MAME to test. Now, the speech didn't work at the time because of the way MAME made it talk (recorded words) and there was differences in MAME and the real hardware like the watchdog timer. So, what worked in MAME needed tweaking for real hardware.

5. If it worked in MAME, I took the binary file and burned it into the first chip and tested. Rinse and repeat until it worked on real hardware.
-Commander Dave
 
What specifically needs to be done to patch the bin or asm file?

I would have too look but for a rudimentary version, just a subroutine with table that converts a letter or number to it's phonetic eqivilent such as "A" being something like "ay-eee". Phonemes are documented around the net. Then pass the error location info to the routine and there you go.

Unfortunately I just bought a house and in the middle of moving and won't be free until after 18 July.

Commander Dave
 
Last edited:
I was actually referring to the patch file mdelsaur posted to get the SRAM test working. But a ROM that would test all phonemes for the SC-01 Votrax would be cool.
 
I was actually referring to the patch file mdelsaur posted to get the SRAM test working. But a ROM that would test all phonemes for the SC-01 Votrax would be cool.

That's what I get for trying to follow a thread while moving houses. Sorry about that. 🤐
 
Here's the binary with the patch applied.

Quick thank you to @mdeslaur @Commander Dave @HudsonArcade
I had a couple rom boards that were failing sram test with "CHECK CHIP: U2" but after burning patched rom, the sram test now passes.
I wanted to try and read the roms (9332) with fluke or fpga catbox but obviously need to figure out how to set up the customs correctly to read the roms w/ address bus and data bus being shared. I have spent the last hour trying to decipher some of the z80 machine code in the asm files but have a long way to go.
Anyway worth a bump for anyone needs the patched test rom.
 
Back
Top Bottom