0c. Background bitmaps
; Load BG graphic
[003DD1] 3dd1 3A 9E C2 LD A,(C29Eh) AF=01BB BC=0000 DE=C900 HL=2009 SP=CAFE IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003DD4] 3dd4 B7 OR A AF=01BB BC=0000 DE=C900 HL=2009 SP=CAFE IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003DD5] 3dd5 20 04 JR NZ,3DDBh AF=0100 BC=0000 DE=C900 HL=2009 SP=CAFE IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003DDB] 3ddb CD 6B 3E CALL 3E6Bh AF=0100 BC=0000 DE=C900 HL=2009 SP=CAFE IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; Index limit (1..31)
[003E6B] 3e6b 3A 9E C2 LD A,(C29Eh) AF=0100 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E6E] 3e6e FE 20 CP 20h AF=0100 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E70] 3e70 38 16 JR C,3E88h AF=01A3 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; Index into table (8-byte structures)
[003E88] 3e88 87 ADD A,A AF=01A3 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E89] 3e89 87 ADD A,A AF=0200 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E8A] 3e8a 87 ADD A,A AF=0400 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E8B] 3e8b 6F LD L,A AF=0808 BC=0000 DE=C900 HL=2009 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E8C] 3e8c 26 00 LD H,00h AF=0808 BC=0000 DE=C900 HL=2008 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E8E] 3e8e 11 C2 3E LD DE,3EC2h AF=0808 BC=0000 DE=C900 HL=0008 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E91] 3e91 19 ADD HL,DE AF=0808 BC=0000 DE=3EC2 HL=0008 SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; Byte 1 = bank
[003E92] 3e92 7E LD A,(HL) AF=0800 BC=0000 DE=3EC2 HL=3ECA SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
[003E93] 3e93 32 FF FF LD (FFFFh),A AF=1000 BC=0000 DE=3EC2 HL=3ECA SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=0C000 [ROM]
; Bytes 2/3 = data pointer
[003E96] 3e96 23 INC HL AF=1000 BC=0000 DE=3EC2 HL=3ECA SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E97] 3e97 7E LD A,(HL) AF=1000 BC=0000 DE=3EC2 HL=3ECB SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E98] 3e98 23 INC HL AF=0000 BC=0000 DE=3EC2 HL=3ECB SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E99] 3e99 E5 PUSH HL AF=0000 BC=0000 DE=3EC2 HL=3ECC SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E9A] 3e9a 66 LD H,(HL) AF=0000 BC=0000 DE=3EC2 HL=3ECC SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E9B] 3e9b 6F LD L,A AF=0000 BC=0000 DE=3EC2 HL=80CC SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
; Copy data ($10)
[003E9C] 3e9c 11 40 C2 LD DE,C240h AF=0000 BC=0000 DE=3EC2 HL=8000 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003E9F] 3e9f 01 10 00 LD BC,0010h AF=0000 BC=0000 DE=C240 HL=8000 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EA2] 3ea2 ED B0 LDIR AF=0000 BC=0010 DE=C240 HL=8000 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EA4] 3ea4 21 41 3E LD HL,3E41h AF=0000 BC=0000 DE=C250 HL=8010 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EA7] 3ea7 0E 08 LD C,08h AF=0000 BC=0000 DE=C250 HL=3E41 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EA9] 3ea9 ED B0 LDIR AF=0000 BC=0008 DE=C250 HL=3E41 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EAB] 3eab E1 POP HL AF=0028 BC=0000 DE=C258 HL=3E49 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
; Bytes 4/5 = bitmap offset
[003EAC] 3eac 23 INC HL AF=0028 BC=0000 DE=C258 HL=3ECC SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EAD] 3ead 7E LD A,(HL) AF=0028 BC=0000 DE=C258 HL=3ECD SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EAE] 3eae 23 INC HL AF=2028 BC=0000 DE=C258 HL=3ECD SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EAF] 3eaf E5 PUSH HL AF=2028 BC=0000 DE=C258 HL=3ECE SP=CAFC IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EB0] 3eb0 66 LD H,(HL) AF=2028 BC=0000 DE=C258 HL=3ECE SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EB1] 3eb1 6F LD L,A AF=2028 BC=0000 DE=C258 HL=80CE SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
; Decode to VRAM
[003EB2] 3eb2 11 00 40 LD DE,4000h AF=2028 BC=0000 DE=C258 HL=8020 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EB5] 3eb5 CD B3 04 CALL 04B3h AF=2028 BC=0000 DE=4000 HL=8020 SP=CAFA IX=C880 IY=C800 V P0=00000 P1=04000 P2=40000 [ROM]
[003EB8] 3eb8 E1 POP HL AF=0044 BC=0000 DE=4004 HL=8F16 SP=CAFA IX=C880 IY=C800 P0=00000 P1=04000 P2=40000 [ROM]
; ___________________________________________________________________
We probably need more room to safely fit in the full script and lists.
So some recompression will help out. Might free ~$200 per bg.
Sample bitmaps @ 3EC2h:
0. ?? ???? ???? ?? ????
1. 10 8000 8020 0F 8000
2. 10 8F16 8F36 0F 8333
3. 10 9C72 9C82 0F 86E9
4. 10 9C72 9C82 0F 89A0 (*)
*. 10 A8F6 B3F5 (???)
5. 10 B3F6 B406 0F 8C80
*. 10 BAD8-BFE3 (Font)
6. 10 8010 8020 0F 8E46 (*)
7. 10 8000 8020 0F 9116 (*)
8. 11 8640 8650 0F 947B
9. 11 97C4 97D4 0F 970A
10. 11 A4B1 A4C1 0F 9A2C
11. 11 AF58 AF68 0F 9C11
*. 11 B94A BFFF (???)
12. 10 8F26 8F36 0F 8333 (*)
; -----------------------------------
13. 16 AC7D AC8D 16 BC32
14. 0B 8000 8010 16 BE2A
15. 16 3FC2 AC8D 16 BC32 (*)
16. 17 AA9F AB6F 17 8000
17. 17 AAAF AB6F 17 831E (*)
18. 17 AABF AB6F 17 8654 (*)
19. 17 AACF AB6F 17 88DD (*)
20. 17 AADF AB6F 17 8BA6 (*)
21. 17 AAEF AB6F 17 8F8E (*)
22. 17 AAFF AB6F 17 92ED (*)
23. 17 AB0F AB6F 17 961B (*)
24. 17 AB1F AB6F 17 9949 (*)
25. 17 AB2F AB6F 17 9CA3 (*)
26. 17 AB3F AB6F 17 9FE3 (*)
27. 17 AB4F AB6F 17 A310 (*)
28. 17 AB5F AB6F 17 A64C (*)
29. 09 BB14 BB24 09 B78B
30. 14 A4DA A4EA 1B BD63
31. 13 8000 8010 0D BDB1