![]() |
Routines |
| Prev: B322 | Up: Map | Next: B3BE |
| B374 | LD L,(IX+$05) | L=*IX+05. | ||
| B377 | LD A,(IX+$06) | A=*IX+06. | ||
| B37A | AND %00000011 | Keep only bits 0-1. | ||
| B37C | OR %00111000 | Set bits 3-5. | ||
| B37E | LD H,A | H=A. | ||
| B37F | ADD HL,HL | HL+=HL. | ||
| B380 | LD E,(IX+$01) | E=*IX+01. | ||
| B383 | LD D,(IX+$02) | D=*IX+02. | ||
| B386 | LD C,(IX+$03) | C=*IX+03. | ||
| B389 | LD B,(IX+$04) | B=*IX+04. | ||
|
This entry point is used by the routines at B591 and BCB7.
|
||||
| Copier | B38C | PUSH BC | Stash BC, DE, HL and HL on the stack. | |
| B38D | PUSH DE | |||
| B38E | PUSH HL | |||
| B38F | PUSH HL | |||
| B390 | LD B,(HL) | B=*HL. | ||
| B391 | INC HL | Increment HL by one. | ||
| B392 | LD H,(HL) | H=*HL. | ||
| B393 | SET 7,H | Set bit 7 of H. | ||
| B395 | LD L,B | L=B. | ||
| B396 | LD B,$08 | B=08. | ||
| B398 | LD A,(HL) | A=*HL. | ||
| B399 | LD (DE),A | Write A to *DE. | ||
| B39A | INC HL | Increment HL by one. | ||
| B39B | INC D | Increment D by one. | ||
| B39C | DJNZ $B398 | Decrease counter by one and loop back to B398 until counter is zero. | ||
| B39E | DEC C | Decrease C by one. | ||
| B39F | JR Z,$B3B4 | Jump to B3B4 if {} is zero. | ||
| B3A1 | LD A,E | E+=20. | ||
| B3A2 | ADD A,$20 | |||
| B3A4 | LD E,A | |||
| B3A5 | JR C,$B3AB | Jump to B3AB if {} is lower. | ||
| B3A7 | LD A,D | D-=08. | ||
| B3A8 | SUB $08 | |||
| B3AA | LD D,A | |||
| B3AB | POP HL | Restore HL from the stack. | ||
| B3AC | LD A,C | A=C. | ||
| B3AD | LD BC,$0040 | BC=0040. | ||
| B3B0 | ADD HL,BC | HL+=BC. | ||
| B3B1 | LD C,A | C=A. | ||
| B3B2 | JR $B38F | Jump to B38F. | ||
| B3B4 | POP HL | Restore HL, HL, DE and BC from the stack. | ||
| B3B5 | POP HL | |||
| B3B6 | POP DE | |||
| B3B7 | POP BC | |||
| B3B8 | INC E | Increment E by one. | ||
| B3B9 | INC L | Increment L by two. | ||
| B3BA | INC L | |||
| B3BB | DJNZ Copier | Decrease counter by one and loop back to Copier until counter is zero. | ||
| B3BD | RET | Return. | ||
| Prev: B322 | Up: Map | Next: B3BE |