Robotronic adventures


Recommended Posts

Yep, took the easy way out and just changed the following:


line 196

-if x_count_next = width then

+if x_count_next >= width then

line 200

-if y_count_next = height then

+if y_count_next >= height then


Looking at MAME source that isn't quite correct since the blitter loop should run at least once regardless of the values

which i guess means the data move is done first and loop checks done after that in the real chip.



and to change SC1 to SC2

line 151

-width <= '0' & unsigned(reg_data_in xor "00000100");

+width <= '0' & unsigned(reg_data_in x);

line 154

-height <= '0' & unsigned(reg_data_in xor "00000100");

+height <= '0' & unsigned(reg_data_in);



I used the ASxxxx found from:

(the ftp links are actually pointing to older versions so check the ftp manually once you have figured out which OS version you want, vs10 complied seem to work on win7/64)


ps. would have posted compiled rom images and the fontdat.i required by jrok's code earlier if i could have figured out how to attach a file here :)

Link to comment
Share on other sites

Thanks Alex,


as far as i know the attached font is without copyright.

(!8x8Font from "8x8 pixel font editor")


Opened up a font, exported it as asm include, cut irrelevant fields out and fed to a little script that expands each byte into the expected format.

(4 bits per pixel ie an unicolor font line of 0xf2 can be written as  0x11,0x11,0x00,0x10 , like binary but hex :)


I compiled the code with

as6809 -l -o -s bench.asm
aslink.exe -i -m -u -b RAMDATA=0xA000 -b CONST=0xf800 -b romcode=0xf000 -b BOOT=0xfff0   bench.rel


converted the ihex file to binary with srec_cat (sourceforge)
srec_cat.exe bench.ihx -intel  -o bench.bin -binary


and split the file into 4k chunks, the actual code is in the last block (rom F000)

(binary is attached as well, i assumed it can be distributed since it contains no copyright notice...)

*EDIT* the sourcode without the fontdata can be found on Jrok's website,


A ';' instead of space is expected, i did not bother editing the font, the code expects ',' to be a blank.

I'm not sure how useful jrok's code is at this point since it is cpu-dependent and we already know the core is not cycle compatible.




Link to comment
Share on other sites

  • 4 months later...
  • 6 months later...
  • 1 year later...

That would be cool, I don't have a Pipistrello but I do have a DE2 which has plenty of SRAM and ROM.


It's too bad the Papilio boards lack pins for external SRAM and ROM, largely a limitation of the TQFP FPGAs used. I've been able to get Space Invaders, Pacman and Galaxian running on a cheap ($18) EP2C5T Cyclone II board by using external SRAM or ROM to hold either the game ROMs or RAM. Most FPGAs are memory-bound in terms of running classic arcade games in a SOC configuration. Plenty of logic resources but even modest memory requirements eat up the block RAM.


On another note, has anyone looked into changing the video output to the original 15kHz rather than VGA? I prefer the separate scan doubler arrangement MikeJ used on the games he did because I can enable it and use VGA in a pinch but it looks much more authentic on a real 15 kHz CRT. It's not too hard to modify some CRT TVs to accept analog RGB and while they're disappearing fast, there are still lots of them in thrift stores and garage sales.

Link to comment
Share on other sites

Here's some info:


The exact approach depends on the specific TV, but in a nutshell you isolate the RGB signals between the chroma processor and the RGB drivers that normally reside on the neck board. You will usually need some amplification but you could copy the front end design from an arcade monitor like the Electrohome G07, it's just a few transistors. Composite sync can normally be fed into the composite video input on the TV, as long as the levels and polarity are correct it should work.


One thing worth mentioning is that it's very important to make sure the TV uses an isolated power supply, or run the TV via an isolation transformer as is required by most older arcade monitors. Some TVs use a "hot chassis" design where the internal circuitry can be floating considerably above earth ground. This is NOT a project for those unfamiliar with the hazards of working inside CRT monitors but I worked on them for years so I'm pretty familiar with the inner workings.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.