| Pyjamarama | Routines |
| Prev: E75A | Up: Map |
|
Used by the routine at Update_Room00.
|
|||||||
| Handler_MagLock | E75B | LD A,(MagLock_Dir) | Check direction. | ||||
| E75E | CP $01 | ||||||
| E760 | JR NZ,Handler_MagLock_0 | ||||||
| E762 | LD A,(Flag_MagLock) | For closing, see if reached the bottom. | |||||
| E765 | CP $B7 | ||||||
| E767 | RET Z | If so then do nothing. | |||||
| E768 | JR Handler_MagLock_1 | ||||||
| Handler_MagLock_0 | E76A | LD A,(Flag_MagLock) | For opening, see if reached the top. | ||||
| E76D | CP $30 | ||||||
| E76F | RET Z | If so then do nothing. | |||||
| E770 | DEC A | Move up. | |||||
| Handler_MagLock_1 | E771 | LD L,A | Convert Y position into an address on the screen. | ||||
| E772 | LD H,$00 | ||||||
| E774 | ADD HL,HL | ||||||
| E775 | LD DE,DF_lookup | ||||||
| E778 | ADD HL,DE | ||||||
| E779 | LD E,(HL) | ||||||
| E77A | INC HL | ||||||
| E77B | LD D,(HL) | ||||||
| E77C | EX DE,HL | ||||||
| E77D | LD DE,$000F | Offset to first X position | |||||
| E780 | ADD HL,DE | ||||||
|
Bar 1
|
|||||||
| E781 | LD A,(HL) | Draw bar 1 by XOR-ing with the screen. | |||||
| E782 | XOR $2C | ||||||
| E784 | LD (HL),A | ||||||
|
Bar 2
|
|||||||
| E785 | INC HL | ||||||
| E786 | LD A,(HL) | ||||||
| E787 | XOR $2C | ||||||
| E789 | LD (HL),A | ||||||
|
Bar 3
|
|||||||
| E78A | INC HL | ||||||
| E78B | INC HL | ||||||
| E78C | LD A,(HL) | ||||||
| E78D | XOR $2C | ||||||
| E78F | LD (HL),A | ||||||
|
Bar 4
|
|||||||
| E790 | INC HL | ||||||
| E791 | INC HL | ||||||
| E792 | INC HL | ||||||
| E793 | LD A,(HL) | ||||||
| E794 | XOR $2C | ||||||
| E796 | LD (HL),A | ||||||
|
Bar 5
|
|||||||
| E797 | INC HL | ||||||
| E798 | INC HL | ||||||
| E799 | LD A,(HL) | ||||||
| E79A | XOR $2C | ||||||
| E79C | LD (HL),A | ||||||
|
Bar 6
|
|||||||
| E79D | INC HL | ||||||
| E79E | LD A,(HL) | ||||||
| E79F | XOR $2C | ||||||
| E7A1 | LD (HL),A | Update Y position. | |||||
| E7A2 | LD A,(Flag_MagLock) | ||||||
| E7A5 | LD B,A | ||||||
| E7A6 | LD A,(MagLock_Dir) | ||||||
| E7A9 | ADD A,B | ||||||
| E7AA | LD (Flag_MagLock),A | ||||||
| E7AD | RET | ||||||
| Prev: E75A | Up: Map |