alex

Robotronic adventures

38 posts in this topic

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

SC1.vhd

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:

http://shop-pdp.kent.edu/ashtml/asxget.htm

(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 :)

Share this post


Link to post
Share on other sites

Click "more reply options" below right then click the "attach file" button. The fontdat.i file would be useful, thanks.

Share this post


Link to post
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, http://jrok.com/hardware/wsf/board_benchmarking.html

 

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.

 

 

-V

fontdat.zip

Share this post


Link to post
Share on other sites

This is straying offtopic a little but wouldnt donkey kong work on a ppro?

Dram could be used to store the samples,probably not quite fast enough to have a fb though.

Share this post


Link to post
Share on other sites

sorry for lifting this old one up :P 

Did anyone ever code the bank switching and address decoding for Defender ? 

 

 

-V

Share this post


Link to post
Share on other sites

Is this code posted somewhere? I've been playing around with the sound board code and got that working easily but it looks like quite a few changes are needed to get the game running with a softcore CPU.

Share this post


Link to post
Share on other sites

Seeing this one was raised from the dead.. i do have the defender board and SC1 in "slow" mode mods somewhere... i've been hoping Alex would chime in with 

corrections to the code but if he doesn't i'll post them here.

 

-V

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

 

Citation needed :)  I'd be interested in looking into this.

Share this post


Link to post
Share on other sites

Here's some info:

http://nfggames.com/forum2/index.php?topic=1765.0

 

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now