(This was previously the 'Does anyone recognise this extended instruction set?' thread, but the title became obsolete so I'm starting a new one!)
So I've got one of these.
AFAICT this is the French version of the My Zone toy laptop. It plays a variety of dubiously educational games while playing terrible music and farmyard animal noises at high volume, plus a lot of sampled speech. The screen is greyscale, probably 4-bit. Inside it's got an unlabelled blob chip and an 8-pin SPI flash chip. I've removed and socketed the chip, and am now running my own code on it.
So far I know that:
- it uses the 65c02 instruction set.
- the SPI flash is memory mapped at 0x8000-0xefff, in 32kB banks. The chip itself is 2MB giving it masses of space. It can read and execute a byte from flash in 7us, which gives it a simulated clock speed of 140kHz. I suspect the CPU runs much faster than this and it's waiting for the flash. The bank register is 0x0a38.
- there's an internal ROM from 0x0b80 to 0x7fff, and from 0xf000 to 0xffff. I think this is also banked, but the bank register is much less obvious.
- RAM extends from 0x0000 up to, I think, 0x09ff.
- I/O ports are in 0x0a00 to 0x0aff.
- The screen is probably 64x32, but that would take 512 bytes of RAM. I've seen several routines which look they're drawing on the screen, but they're only writing to 0x0b00 to 0x0b7f, which isn't big enough. Maybe that's banked too? Or I might be looking at sound processor routines.
My guess is that the internal ROM contains an operating system plus all the common routines for doing audio, drawing on the screen, etc, and the slow SPI flash contains the audio and graphics assets, top-level code for the various applets etc --- that way they can reuse the same blob with multiple SPI flash payloads for different products.
I believe this thing is one of the ubiquitous GeneralPlus electronic toy chips, as made famous by the Tamagotchi. But, all the chips supported by the GeneralPlus IDE have their I/O at 0x3000, which doesn't match this one. It's quite possible that VTech are big enough to negotiate a custom processor from GeneralPlus, or maybe I'm just wrong.
I'm writing all this down because I'm going to have to take a break for a few days, and I'm sure I will forget everything when I get back... plus, someone might recognise this!