Chris a écrit :This Z80 CPU is why I took the E220, mostly because I find this processor nice to program, and also because I already own all the material to program it (I also own a PC-1600). I didn't like the E500 (I've never tried to program this CPU) and I sold it.
Yes, the Z80 is a nice processor. One thing that I'm missing ist the zeropage address mode (when I started programming, I had a 6502/7501 based C= plus/4) I think, the LH5801 (PC-1500) is more related to the 6502. I also don't really like the E500, I just use mine in CAL mode
If I undestand correctly, it is not possible to poke memory directly? Does the E220 work the same way?
As far as I know, you cannot directly POKE to screen. On the G850V, you could use the BASIC command "OUT
port,
value" (an equivalent of the Z80 OUT (nn),A instruction) to perform a port based screen output, but I think OUT/INP are not implemented in the E220 BASIC. Seems like the VRAM is physically located inside the LCD driver chip and therefore only accessible via port I/O.
If you go through the "pocket book" ASM listings for grayscale output, you can see that they're reading byte for byte (each representing a vertical structure of 8 dots) from memory and OUTput these bytes to port 41h to get them to the screen. This way of display output looks strange at the first view but it's fast. On the other hand, this procedure shows that it's quite easy to implement a fast "virtual VRAM".
For the G850V, ports 40h and 41h are involved in LCD control while the E220 uses ports 58h to 5Bh for these purposes (which I found from the port descriptions on the PC-E220 website).
Also interesting: bank mapping via port I/O should allow to access external or (preferably) internal memory extensions.
Quax