* XaviX - looking at more timers (nw)
* fix crash with ekara -cart1 ec0015 song 1, confirms other indirect opcodes must bypass lowbus
* (nw)
* and this hack can go away now (nw)
* on review of code I'm fairly sure these work with the accumulator (nw)
* get ttv_mx to show some screens (nw)
* oops (nw)
* more ops (nw)
* (nw)
* help xavtenni along (nw)
* less logging (nw)
* start looking at the extra opcodes in the SSD 2000 type XaviX chip (seems some undocumented 6502 opcodes are replaced with more custom ones)
* (nw)
* the xavix memory mapping gets stranger with each piece of new evidence (nw)
* xavix - tidy ups, reorganization, current notes etc.
* didn't mean to push a copy (nw)
* shift some common code around for palette handling (nw)
* lean less heavily on memory system (nw)
* revert 'shift some common code around for palette handling (nw)' to be revisited later.
* add missed include guards (nw)
* new machines marked as NOT WORKING
Skannerz TV [Sean RIddle, Peter Wilhelmsen]
This will need the communication protocol with the barcode scanner unit reverse engeering (the scanner unit has it's own MCU that isn't dumped and for which we have no method of dumping) this also probably means it will need improvements to the general vii.cpp handling of interrupts and serial ports (which Cricket needs too)
* xavix - some changes to keep code running better, I think it's trying to do a palette writes at 6800/6900 before crashing now (nw)
* new machines marked as NOT WORKING
Play TV Monster Truck [Sean Riddle, Peter Wilhelmsen]
* experiments (nw)
* ram address 0xff (internal ram / zero page ram) is used to bank data reads at 0x8000 (the equiavlent of how the custom ocpods bank code reads there instead)
* new machines marked as NOT WORKING - Play TV Ping Pong [Sean Riddle]
The code on this one is much closer to Taito Nostalgia, seemingly only using the callfar / returnfar extended opcodes, this further makes me think that XaviX Tennis is a Super XaviX title instead.
* some guesswork (nw)
* it sure *looks* like the dma (nw)
* xavix - generate some interrupts, code runs a lot better now (nw)
* create derived 6502 type for XaviX because it has at least one custom 4-byte opcode that doesn't fit any other type.
treating that opcode as NOP for now.
have a feeling it might be something to do with the other integrated hardware, might be 'execute co-processor code chain at this address' or something similar
It isn't a standard JSL (Jump Subroutine Long) like the SNES cpu opcode in the same place as this, it seems to point at some code-like structures tho)
could also be a secondary operation mode with different encoding like ARM's Thumb mode tho I guess.
We currently only have a single XaviX based dump (taitons1) but there are more on the way. I'm going to see if the code flow makes any sense at all with these missing, or if any of it gives a clue as to what they should actually do.
* xavix - let's call these callf and retf then
after further investigation these are some kind of extra 'long jump' subroutine / task handlers, the 0x80 also being a custom opcode was throwing me off trying to identify them before.
looks like they might have been hacking 65816 features into the regular 6502 core?
* prepare for extra address bits (nw)
* better program flow (nw)