Prev: 29736 Up: Map Next: 29970
29806: Draw Shifted Run
Used by the routine at DispatchShape.
Opcode 239 draws a run that is shifted across the pixel columns, using the same five-byte operand layout.
VerticalRun 29806 LD C,(IX+1)
29809 LD B,(IX+2)
29812 LD A,(IX+3)
29815 LD (29802),A
29818 LD A,(IX+4)
29821 LD (29768),A
29824 CALL HorizontalRun_3
29827 LD DE,5
29830 ADD IX,DE
29832 JP PictureRecord
VerticalRun_0 29835 PUSH BC
29836 CALL PixelRow
29839 PUSH HL
29840 LD DE,0
29843 LD B,8
29845 ADD HL,DE
29846 DEC HL
29847 POP DE
VerticalRun_1 29848 PUSH HL
29849 PUSH DE
29850 PUSH BC
29851 LD B,0
VerticalRun_2 29853 CALL VerticalRun_5
29856 EX DE,HL
29857 CALL VerticalRun_5
29860 EX DE,HL
29861 LD A,(DE)
29862 LD C,(HL)
29863 EX DE,HL
29864 LD (DE),A
29865 LD (HL),C
29866 EX DE,HL
29867 INC DE
29868 DEC HL
29869 DJNZ VerticalRun_2
29871 POP BC
29872 POP DE
29873 POP HL
29874 INC D
29875 INC H
29876 DJNZ VerticalRun_1
29878 POP BC
29879 INC B
29880 LD A,0
29882 CP B
29883 JR NZ,VerticalRun_0
29885 RET
VerticalRun_3 29886 PUSH BC
29887 CALL ResetOrigin_0
29890 LD DE,0
29893 PUSH HL
29894 ADD HL,DE
29895 DEC HL
29896 POP DE
29897 LD B,0
VerticalRun_4 29899 LD A,(DE)
29900 LD C,(HL)
29901 EX DE,HL
29902 LD (HL),C
29903 LD (DE),A
29904 EX DE,HL
29905 INC DE
29906 DEC HL
29907 DJNZ VerticalRun_4
29909 POP BC
29910 INC B
29911 LD A,0
29913 CP B
29914 JR NZ,VerticalRun_3
29916 RET
VerticalRun_5 29917 EX DE,HL
29918 LD C,128
VerticalRun_6 29920 RL (HL)
29922 RR C
29924 JR NC,VerticalRun_6
29926 LD (HL),C
29927 EX DE,HL
29928 RET
This entry point is used by the routine at DrawVertical.
VerticalRun_7 29929 LD A,(IX+3)
29932 LD (29881),A
29935 LD (29912),A
29938 LD A,(IX+4)
29941 LD B,(IX+1)
29944 LD C,(IX+2)
This entry point is used by the routine at FixedVertical.
VerticalRun_8 29947 LD (29841),A
29950 LD (29891),A
29953 AND A
29954 RRA
29955 LD (29852),A
29958 LD (29898),A
29961 PUSH BC
29962 CALL VerticalRun_0
29965 POP BC
29966 CALL VerticalRun_3
29969 RET
Prev: 29736 Up: Map Next: 29970