| Gyruss | Routines |
| Prev: AC32 | Up: Map | Next: AC87 |
|
Plot pixel in center enemies bit map. Used by the routine at display_center_enemies.
|
||||||||||||
| plot_pixel | AC47 | PUSH HL | ||||||||||
| AC48 | LD A,D | Screen y | ||||||||||
| AC49 | SUB $50 | - 80 | ||||||||||
| AC4B | SRL A | / 2 | ||||||||||
| AC4D | AND $FC | Y offset (byte offset * 4) | ||||||||||
| AC4F | LD C,A | Store in C | ||||||||||
| AC50 | LD A,E | Screen x | ||||||||||
| AC51 | SUB $70 | - 112 | ||||||||||
| AC53 | JR NC,plot_pixel_0 | If < 0 | ||||||||||
| AC55 | XOR A | Then set to 0 | ||||||||||
| plot_pixel_0 | AC56 | CP $20 | If < 32 | |||||||||
| AC58 | JR C,plot_pixel_1 | Then skip ahead | ||||||||||
| AC5A | LD A,$0F | ELse set to 15 | ||||||||||
| plot_pixel_1 | AC5C | SRL A | / 8 | |||||||||
| AC5E | SRL A | ... | ||||||||||
| AC60 | SRL A | ... | ||||||||||
| AC62 | ADD A,C | Add y offset | ||||||||||
| AC63 | ADD A,A | * 8 | ||||||||||
| AC64 | ADD A,A | ... | ||||||||||
| AC65 | ADD A,A | ... | ||||||||||
| AC66 | LD C,A | Store in C | ||||||||||
| AC67 | LD A,D | Screen y | ||||||||||
| AC68 | AND $07 | Pixel offset within pattern | ||||||||||
| AC6A | ADD A,C | Add to offset | ||||||||||
| AC6B | LD C,A | Store in C | ||||||||||
| AC6C | LD B,$00 | B = 0 | ||||||||||
| AC6E | LD HL,(center_enemies_pattern) | Get VDP address of centre enemy patterns | ||||||||||
| AC71 | ADD HL,BC | VDP address | ||||||||||
| AC72 | LD A,E | Screen x | ||||||||||
| AC73 | AND $07 | Pixel x offset within pattern | ||||||||||
| AC75 | LD B,$80 | Leftmost pixel | ||||||||||
| AC77 | JR Z,plot_pixel_3 | Skip ahead if zero offset | ||||||||||
| plot_pixel_2 | AC79 | SRL B | Shift right 0-7 times | |||||||||
| AC7B | DEC A | ... | ||||||||||
| AC7C | JR NZ,plot_pixel_2 | ... | ||||||||||
| plot_pixel_3 | AC7E | EX DE,HL | DE = VDP address, HL = coordinates | |||||||||
| AC7F | CALL vdp_read_byte | Read VDP byte | ||||||||||
| AC82 | OR B | Apply pixel | ||||||||||
| AC83 | RST $10 | Write VDP byte | ||||||||||
| AC84 | EX DE,HL | DE = coordinates | ||||||||||
| AC85 | POP HL | |||||||||||
| AC86 | RET | |||||||||||
| Prev: AC32 | Up: Map | Next: AC87 |