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 |