Saturday, September 29, 2007
Thursday, September 27, 2007
Wednesday, September 26, 2007
Well now that the inputs and door sensors are working, I thought I would look at the machine counts screens.
It seems that I will need to map the memory locations for each of the amounts, but most appear to have zeros in them.
The values are stored in a 4 byte BCD format and support values from 0 to 99999999.
I can't seem to get past a certain screen and advance to the current game display screen. I need to figure out what is blocking me from going forward.
Monday, September 24, 2007
Sunday, September 23, 2007
I setup the driver to map to these and navigate to the output test screen and fire off the sound test. It works! I hear a 'ping' sound just like my original hardware. Its not exact, but I'm sure its due to the improper frequency I setup for the cpu.
I know that I can mess with the sound settings in operator mode in a page further down, so I advance the pages but cannot get to the sound screen. There is probably a variable in memory that needs to be set in order to let it know that that page is available.
Saturday, September 22, 2007
Friday, September 21, 2007
Thursday, September 20, 2007
Wednesday, September 19, 2007
As you can see I figured out the issue with the video. Looks like the transparent addressing mode automatically advances the cursor to the right (basically incrementing the current address after displaying).
Once I added the code to do this, things cleared up considerably. I still need to mess with the color palette, but that shouldn't be a problem.
Tuesday, September 18, 2007
Sunday, September 16, 2007
I had to hack the 8052 driver to include P2 as the upper byte when accessing external RAM. I will have to revisit the cpu driver later and include a way to make the callback work. For now I just hard-coded what I need. I'm desperate to see some output soon!
Saturday, September 15, 2007
Whenever graphics are addressed in the game code, they seem to be using a value of 0x20 for P2. Which tells me they are addressing a range of 0x2000 to 0x20FF.
I found that in other drivers using the CRC6845, they generally look at 2 memory locations to get it to work. One for the registers and another for the address. I found some video code that places values at 0x2080, 0x2081 and 0x2083. One too many addresses, but I can tell that the 0x2083 value always holds the address to the graphics character in it. Since its using "Transparent Mode Addressing", I'm gonna need all three.
Thursday, September 13, 2007
My first challenge is to find out where in memory the video is updated. The game code is getting more and more commented, but there is some areas that are unexplored. Time to flesh out the game code some more.
Tuesday, September 11, 2007
Monday, September 10, 2007
I downloaded the MAME source code and setup my development environment. I then compiled it and tried one of the free roms (Robby) found on the MAME website. At this point my system is ready to go.
Sunday, September 9, 2007
The more strings I find, the more the code starts to document itself. I am finding the same subroutines being called after loading the strings, which makes me think its routines for painting to the screen. Time to dig around in the code.
Saturday, September 8, 2007
The processor on the my PE+ board is an Intel 80c32. It pre-dates the 8051/8052, which is a more common version of the chip.
I used a program called DIS8051 to disassemble the game code and it appears to be unprotected. I found that strange for a system that is used for gambling, but was quite happy to see it!
Time to dig into the code and see if I can start mapping interesting things. I'm using 8052.com as a reference site. They have a ton of information on this processor. Once I get comfortable with the code, I will begin creating a driver in MAME.