Tech Notes
A thing you MUST always have in mind when you move sprites,
write FIX, etc...
The map of the screen is made by column!
It means in the FIX planes 0x7000 is point(0,0) and 0x7001 is point(0,1) AND
note (1,0).
If you want point(1,0) you must write at FIX plane 0x7020
To made your life easier, you should make the VRAM increment value to 0x20 so each write to VRAM writes to next x
You have the choice between 2 FIX roms.
FIX are 8x8 chars that can be show on the FIX planes (0x7000 to 0x7a00)
You can switch between Board and Game rom.
Write a byte to 0x3000b to select Board rom
Write a byte to 0x3001b to select Game rom
(or a word at 0x300xa i think)
I'm not sure of which is the default rom....i think the Board but i have to check it.
To read the status of a joystick, you must access two addresses.
One for the buttons & directions and the second for the start/select
buttons.
Pad 1:
0x300000 = 0xAA where AA = DCBARLWU (W = Down)
0x380000 = 0xBB where BB = xxxxxxES (E = Select & S = Start)
so pad 1 = (adr(0x380000)&0x03)<<8 | adr(0x300000)
Pad 2:
0x340000 = 0xAA where AA = DCBARLWU (W = Down)
0x380000 = 0xBB where BB = xxxxESxx (E = Select & S = Start)
so pad 1 = (adr(0x380000)&0x0C)<<8 | adr(0x340000)
Coming soon
Tech 3 Planes
Tech 4 Sprites
Tech 5 Sprites Zoom