Monday, 13 January 2014
All that time spent double checking the TMS1100 code, it wasn't that. The problem was not that some of the games had backward controls, they all did, and I hadn't noticed. So that's my own stupid fault really.
The reason was simple enough ; Dan's schematics are either wrong or from the back perspective .... so all the wiring is back to front and upside down, so when I used those connections (it is correct in the MV technical document) unsurprisingly everything came out the wrong way round......... the CPU core always worked fine.
So, anyway, after all that idiocy I will implement the rotary control - Block Buster works fine but you can't actually play it and you can't remove the control.
A consequence of this is, I think , the O-PLA is doing the job of reversing the output on cartridges other than Vegas Slots.
This is kind of understandable. The LCD Datasheet does use "Data 0" "Data 1" "Data 2" and "Data 3" for its connectors, but they are the 'wrong way round' from normal, e.g. I think Data 0 is actually the most significant bit. I wonder if somewhere in the early development of these games - which would have been on a separate machine without real test hardware I guess - someone made that mistake.
|Block Buster PCB (Track side)|
I've dismantled a BlockBuster and Vegas Slots cartridges and they are identical. So it's not a wiring issue.
I've also run the MESS Microvision Emulator. (MESS is a program which emulates virtually every computer and console ever made ....)
This , interestingly, has exactly the same problem with 'Vegas Slots' that I do, viz. the display is backwards - it behaves as if every nibble written to the LCD is backwards, other than that it works fine.
So it may not be just me, it might be the PLA for the O-Lines.
The MESS author derived his technical information from a different source from me, and implements his processor emulation differently, so it is odd that we have the exact same 'bug'. If it is a bug.
However, it does have the keyboard the right way up on Phaser Strike, which suggests that its an error on my part, which I will have to track down.
MESS works well, except for it tries to fit the 16x16 screen to the whole display, which makes the pixels very very big indeed.