Monday, 13 January 2014

In which I admit idiocy.....

So, I've fixed the bug. Apart from the LCD Reversal in Vegas Slots, all is now hunky dory.  (though I still haven't implemented the rotary control yet).

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.

On the trail of the Lonesome Bug

Block Buster PCB (Track side)
Well, a few steps forward, a few steps backward.

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.