What was I thinking! Moon Cresta Bootleg Journey

NivagSwerdna

Active member
Feedback
1 (100%)
Credits
744CR
To conclude the Sprite Generation hardware I need to consider graphic bank switching...

Galaxian does not switch banks, however Moon Cresta requires extra addressing to cover the larger (2532 Graphics ROMs); to facilitate this the driver latch at 6000 is re-purposed from 1P Start LED, 2P Start LED and Coin Lockout to 3 bits of bank switching data. The driver latch 9M is also moved from 6000 to A000 in the memory map.

The upshot of this is that you effectively get 3 1-bit registers at A000, A001 and A002.

A002 is effectively "Bank Switch Enable", and A001 and A000 are bank number.

CaptureBankSwitch.PNG


To accomplish this the bodge is as follows... An extra 74LS157 mux is mounted on 3J and a 74LS10 triple input NAND on top of 3M.

The extra inputs from 9M are routed via wires that cross the board.

The upshot of this is when A002 is 0 the original Galaxian scheme is followed but when A002 is 1 then A9 is driven by latch A000 and A10 is driven by latch A001. (Actually not all of the address space... the triple input NAND is used to stop some sprite remapping)

Anyway... we can see the effect by setting up some Sprites...

With A000..2 set to 000... i.e. no remap

Sprites 20, 21, 22, 23, 24, 25, 26 (hex)...

Capture000.PNG


then changing the banking...

With A000..2 set to 100... i.e. remap, bank 00

Capture100.PNG


With A000..2 set to 101... i.e. remap, bank 01

Capture101.PNG


With A000..2 set to 110... i.e. remap, bank 10

Capture110.PNG


With A000..2 set to 111... i.e. remap, bank 11

Capture111.PNG


And then looking again at the Sprites in the Graphics ROM...

CaptureTranspose.PNG


So that's all working just fine and dandy!

NivagSwerdna2022-03-27 10:56:28
 

NivagSwerdna

Active member
Feedback
1 (100%)
Credits
744CR
Moving on to sound...

I previously removed the onboard amplifier and now replace this with a small network to route audio out to pin 18 on the connector to be consistent with my Galaxian.

CaptureMCSound.PNG


and plugging in my adapter (with audio module)...

CaptureMCSound2.PNG


And I think we are good for SFX!
 

NivagSwerdna

Active member
Feedback
1 (100%)
Credits
744CR
Are we there yet? Almost...

Screenshot_2022-04-04_12-59-52.png


P1 Left doesn't seem to work... My adapter assumes Galaxian pinout so assumes it is on edge position M. Currently I have removed the wires remapping various controls... that would have paralleled P1 Left with P2R... I don't currently have P2R wired... maybe I need to add that and see if it acts at P1 Left?

NivagSwerdna2022-04-04 14:12:42
 

NivagSwerdna

Active member
Feedback
1 (100%)
Credits
744CR
Getting slightly fed up with this but I think I am almost there now!

P1 Left wasn't being read correctly and checking voltages it seemed to only drop to around 2.8V when the button was pressed so not being read correctly.

Tried a few things and then decided to blitz it and remove all the ceramic caps on the inputs and tidy them up. Added a bodge wire to replace the P1 Left trace which although showing no obvious sign of a problem must logically be the reason.

CaptureInputBodge1.PNG


Checked all the caps but not surprisingly they seem fine... those disc caps seem mostly indestructible...

CaptureInputBodge2.PNG


The Moon Cresta inputs (DIP and switches) are slightly remapped from Galaxian so found at B000, A000 and A800...

Polling those now whilst pressing buttons...

[font="Courier New, Courier, mono"]R: B000=F0 R: A000=20 R: A800=40 No buttons pressed[/font]

[font="Courier New, Courier, mono"]R: B000=F0 R: A000=30 R: A800=40 P1 Fire[/font]

[font="Courier New, Courier, mono"]R: B000=F0 R: A000=28 R: A800=40 P1 Right[/font]

[font="Courier New, Courier, mono"]R: B000=F0 R: A000=24 R: A800=40 P1 Left[/font]

[font="Courier New, Courier, mono"]R: B000=F0 R: A000=21 R: A800=40 Coin 1[/font]

Looking good!

We must be almost done now... time to put back the Z80.

NivagSwerdna2022-04-12 19:44:13
 

NivagSwerdna

Active member
Feedback
1 (100%)
Credits
744CR
Looking good... slight delay to progress as my cheapo HDMI to USB adapter decided to overheat and self-destruct...

All controls working now

ScreenShotMC1.png


and...

ScreenShotMC2.png


There does seem to be some sprite leakage to the very top row but these seem to be normal for similar hardware according to andys-arcade https://www.youtube.com/watch?v=Vt7YHIRWvlA

So another board is done.
 
Top