Prev: 24336 Up: Map Next: 24448
24354: Change Background
Takes the background reference from Background_Reference and executes the appropriate routine to copy the background data addresses to the buffer at Background_Data_Buffer.
Used by the routine at 37376.
Blanks the screen.
Change_Background 24354 LD HL,22528 Writes 63 to all 768 locations of the attributes buffer.
Value Ink Paper Bright
63 7 7 0
This is white ink on white paper.
24357 LD E,L
24358 LD D,H
24359 INC DE
24360 LD (HL),63
24362 LD BC,767
24365 LDIR
24367 LD HL,16384 Writes 0 to all 6144 locations of the screen buffer.
24370 LD E,L
24371 LD D,H
24372 INC DE
24373 LD BC,6143
24376 LD (HL),0
24378 LDIR
Fetch the background reference from Background_Reference and use it to calculate the address for the copy-to-buffer routine.
24380 LD HL,24320 Loads A with the contents of Background_Reference.
24383 LD A,(HL)
24384 DEC A Decrease it by one, then double it.
24385 ADD A,A
24386 LD C,A Store it as the LSB of BC (MSB is 0).
24387 LD B,0
24389 LD (HL),B Write 0 to Background_Reference.
24390 LD HL,24330 HL=The beginning of three address references for the copy routines which populate Background_Data_Buffer at $5F0A.
24393 ADD HL,BC Add BC to HL.
24394 LD E,(HL) DE=One of the three background address references;
Background_Reference Address Reference
1 $5F0A
2 $5F0C
3 $5F0E
24395 INC HL
24396 LD D,(HL)
24397 EX DE,HL Swap the DE and HL registers.
24398 CALL Indirect_Jump Call Indirect_Jump.
24401 RET Return.
Indirect jump to copy-to-buffer routine.
Indirect_Jump 24402 JP (HL) Indirect jump to address held by HL.
Background_Reference Jumps To...
1 24403
2 24418
3 24433
Set up background 1.
24403 LD HL,24619 Copies 18 bytes of data from Background_1_Addresses to Background_Data_Buffer.
24406 LD DE,24336
24409 LD BC,18
24412 LDIR
24414 CALL Create_Background Call Create_Background.
24417 RET Return.
Set up background 2.
24418 LD HL,24637 Copies 18 bytes of data from Background_2_Addresses to Background_Data_Buffer.
24421 LD DE,24336
24424 LD BC,18
24427 LDIR
24429 CALL Create_Background Call Create_Background.
24432 RET Return.
Set up background 3.
24433 LD HL,24655 Copies 18 bytes of data from Background_3_Addresses to Background_Data_Buffer.
24436 LD DE,24336
24439 LD BC,18
24442 LDIR
24444 CALL Create_Background Call Create_Background.
24447 RET Return.
Prev: 24336 Up: Map Next: 24448