![]() |
Routines |
Prev: 26808 | Up: Map | Next: 26986 |
Used by the routine at 27886.
|
||||
26918 | PUSH BC | Stash BC on the stack. | ||
26919 | LD A,(26277) | A=*26277. | ||
26922 | DEC A | Decrease A by one. | ||
26923 | XOR %11111111 | Flip bits 0-7. | ||
26925 | AND %00111000 | Keep only bits 3-5. | ||
26927 | SRA A | Shift A right (with carry). | ||
26929 | SRA A | |||
26931 | SRA A | |||
26933 | ADD A,64 | A+=64. | ||
26935 | LD B,A | B=A. | ||
26936 | LD A,IXl | |||
26938 | CP 2 | Compare A with 2. | ||
26940 | JR Z,26946 | Jump to 26946 if A is equal to 2. | ||
26942 | LD A,64 | A=64. | ||
26944 | JR 26947 | Jump to 26947. | ||
26946 | LD A,B | A=B. | ||
26947 | LD (HL),A | Write A to *HL. | ||
26948 | CALL ConvertAttributeToScreenBufferAddress | Call ConvertAttributeToScreenBufferAddress. | ||
26951 | PUSH HL | Stash HL on the stack. | ||
26952 | LD A,(26275) | A=*26275. | ||
26955 | LD H,0 | H=0. | ||
26957 | LD L,A | L=A. | ||
26958 | ADD HL,HL | Multiply HL by 8. | ||
26959 | ADD HL,HL | |||
26960 | ADD HL,HL | |||
26961 | LD DE,24995 | HL+=24995. | ||
26964 | ADD HL,DE | |||
26965 | EX DE,HL | Exchange the DE and HL registers. | ||
26966 | POP HL | Restore HL from the stack. | ||
26967 | INC A | Increment A by one. | ||
26968 | CP 3 | Jump to 26973 if A is not equal to 3. | ||
26970 | JR NZ,26973 | |||
26972 | XOR A | A=0. | ||
26973 | LD (26275),A | Write A to *26275. | ||
26976 | LD B,8 | Set a line counter in B (8 lines in a UDG). | ||
26978 | LD A,(DE) | Copy the UDG data to the screen buffer. | ||
26979 | LD (HL),A | |||
26980 | INC H | Move down one pixel line in the screen buffer. | ||
26981 | INC DE | Move to the next UDG graphic data byte. | ||
26982 | DJNZ 26978 | Decrease the line counter by one and loop back to 26978 until all 8 lines of the UDG character have been drawn. | ||
26984 | POP BC | Restore BC from the stack. | ||
26985 | RET | Return. |
Prev: 26808 | Up: Map | Next: 26986 |