ZANAC-EX based arcade game machine

By bigral

Supporter (7)

bigral's picture

10-11-2019, 16:46

Hello, I want to make custom ZANAC-EX arcade style game machine. This is my board: https://flic.kr/p/2h8LArM
Schematics does not exist because it's quite strait forward CPU - PPI - ROM - RAM - VDP - PSG all connected to data bus and lower address bus. CPLD forms requires ~CS signals and high address lines of ROM, ~RD ~WR are connected to PPI ROM RAM. My CPLD config here: https://sites.google.com/site/bigralsbay/home/unknown-rom-im...
and I'm using this ROM: https://sites.google.com/site/bigralsbay/home/unknown-rom-im...

Now because of some unknown reason system wont get further than this screen https://flic.kr/p/2hHrZcd (msx banner starts to appear but then suddenly starts over and oven again, and signal ~INT goes low in this moment). This is with ~INT signal connected to CPU, if I disconnect ~INT from VDP I'm getting following: https://flic.kr/p/2hHrZ8v and then the same (this msx banner starts to slide up again and again, without message in the bottom about VRAM RAM size)

Also I've tried to run MSX1 rom, and getting following: https://flic.kr/p/2hHwUBM (only when I switch on power, then screen goes black and stays like this even if I press reset)

questions:
1) How v9958 differs from tms9918 in terms of initial initialization, it appears to me that palette registers are not setup correctly upon reset and I don't see the picture when running msx1 rom but only black screen.
2) Is there test rom that I could use to troubleshot issue with semi - "reset" ?
3) What initial state ASCII 16 mapper should have? I have connected bank0 into page1(a15=0 a14=1) and bank1 into page2(a15=1 a14=0) is this correct?

Login or register to post comments

By zPasi

Champion (473)

zPasi's picture

10-11-2019, 19:06

bigral wrote:

Hello, I want to make custom ZANAC-EX arcade style game machine.

A custom machine that boots to Zanac-EX MSX ROM game?

Quote:

1) How v9958 differs from tms9918 in terms of initial initialization, it appears to me that palette registers are not setup correctly upon reset and I don't see the picture when running msx1 rom but only black screen.

Yes, the palette. I don't know any other difference on init.

The VDP is responsible of interrupts also. Maybe you have something wrong in the INT line?

Quote:

2) Is there test rom that I could use to troubleshot issue with semi - "reset" ?

There are some but they may be customized for specific MSX-models. Might be easier just to write your own. Include into the board a circuit that responds with LEDs when OUTing to some address. Something like this one. Then the ROM would just need to OUT some values to that address during booting / initing.

Quote:

3) What initial state ASCII 16 mapper should have? I have connected bank0 into page1(a15=0 a14=1) and bank1 into page2(a15=1 a14=0) is this correct?

All banks zero, I suppose.

By Manuel

Ascended (15811)

Manuel's picture

10-11-2019, 22:46

By bigral

Supporter (7)

bigral's picture

12-11-2019, 09:28

zPasi wrote:

A custom machine that boots to Zanac-EX MSX ROM game?

yes

zPasi wrote:

Yes, the palette. I don't know any other difference on init.

I mean, is this standard behavior for v9958 to have green letters on "msx1 start screen" and then BLACK screen? Also, it seems strange to me that there is no changes even after hard reset, at least green letters should be on screen again, but no, just plain black screen.

zPasi wrote:

The VDP is responsible of interrupts also. Maybe you have something wrong in the INT line?

This line goes to z80 corresponding signal and have 10k pullup resistor.

By Grauw

Ascended (8507)

Grauw's picture

12-11-2019, 11:41

Doesn't the V9938 initialise the palette registers by itself? I thought it did...

By bigral

Supporter (7)

bigral's picture

13-11-2019, 17:42

Grauw wrote:

Doesn't the V9938 initialise the palette registers by itself? I thought it did...

I'm using v9958, so I wonder if its behavior should be the same with tms9918? because I see green letters on black background and then just black screen Sad

By bigral

Supporter (7)

bigral's picture

17-11-2019, 17:39

I found that this cycle with constantly shifting up 2 line thick part of msx banner (https://flic.kr/p/2hHrZcd) happen in procedure at address #2a14. I have no idea how this procedure works but it appears to me that rst#38 happens all the time when this procedure running. And in my case ~int signal goes low for rather long time and then cycle happen and 2 line thick banner starts over and over again... is there special ~int respond logic required? I don't have any interrupt acknowledge logic in cpld, should I add any?