Prev: 7428 Up: Map Next: 7512
746E: Draw Shifted Run
Used by the routine at DispatchShape.
Opcode EF draws a run that is shifted across the pixel columns, using the same five-byte operand layout.
VerticalRun 746E LD C,(IX+$01)
7471 LD B,(IX+$02)
7474 LD A,(IX+$03)
7477 LD ($746A),A
747A LD A,(IX+$04)
747D LD ($7448),A
7480 CALL HorizontalRun_3
7483 LD DE,$0005
7486 ADD IX,DE
7488 JP PictureRecord
VerticalRun_0 748B PUSH BC
748C CALL PixelRow
748F PUSH HL
7490 LD DE,$0000
7493 LD B,$08
7495 ADD HL,DE
7496 DEC HL
7497 POP DE
VerticalRun_1 7498 PUSH HL
7499 PUSH DE
749A PUSH BC
749B LD B,$00
VerticalRun_2 749D CALL VerticalRun_5
74A0 EX DE,HL
74A1 CALL VerticalRun_5
74A4 EX DE,HL
74A5 LD A,(DE)
74A6 LD C,(HL)
74A7 EX DE,HL
74A8 LD (DE),A
74A9 LD (HL),C
74AA EX DE,HL
74AB INC DE
74AC DEC HL
74AD DJNZ VerticalRun_2
74AF POP BC
74B0 POP DE
74B1 POP HL
74B2 INC D
74B3 INC H
74B4 DJNZ VerticalRun_1
74B6 POP BC
74B7 INC B
74B8 LD A,$00
74BA CP B
74BB JR NZ,VerticalRun_0
74BD RET
VerticalRun_3 74BE PUSH BC
74BF CALL ResetOrigin_0
74C2 LD DE,$0000
74C5 PUSH HL
74C6 ADD HL,DE
74C7 DEC HL
74C8 POP DE
74C9 LD B,$00
VerticalRun_4 74CB LD A,(DE)
74CC LD C,(HL)
74CD EX DE,HL
74CE LD (HL),C
74CF LD (DE),A
74D0 EX DE,HL
74D1 INC DE
74D2 DEC HL
74D3 DJNZ VerticalRun_4
74D5 POP BC
74D6 INC B
74D7 LD A,$00
74D9 CP B
74DA JR NZ,VerticalRun_3
74DC RET
VerticalRun_5 74DD EX DE,HL
74DE LD C,$80
VerticalRun_6 74E0 RL (HL)
74E2 RR C
74E4 JR NC,VerticalRun_6
74E6 LD (HL),C
74E7 EX DE,HL
74E8 RET
This entry point is used by the routine at DrawVertical.
VerticalRun_7 74E9 LD A,(IX+$03)
74EC LD ($74B9),A
74EF LD ($74D8),A
74F2 LD A,(IX+$04)
74F5 LD B,(IX+$01)
74F8 LD C,(IX+$02)
This entry point is used by the routine at FixedVertical.
VerticalRun_8 74FB LD ($7491),A
74FE LD ($74C3),A
7501 AND A
7502 RRA
7503 LD ($749C),A
7506 LD ($74CA),A
7509 PUSH BC
750A CALL VerticalRun_0
750D POP BC
750E CALL VerticalRun_3
7511 RET
Prev: 7428 Up: Map Next: 7512