Prev: 45724 Up: Map Next: 46006
45890: Routine at B342
Used by the routine at 44981.
45890 PUSH HL Stash HL on the stack.
45891 LD (46096),A Write A to *46096.
45894 LD D,A D=A.
45895 LD A,68 Write INK: GREEN, PAPER: BLACK (BRIGHT) to *46104.
45897 LD (46104),A
45900 LD A,D A=D.
45901 CALL 46082 Call 46082.
45904 CP (IX+0) Jump to 45932 if *IX+0 is greater than or equal to 68.
45907 JR NC,45932
45909 LD A,(HL) Write *HL to *46097.
45910 LD (46097),A
45913 CALL 45966 Call 45966.
45916 LD D,A D=A.
45917 LD A,(46105) A=*46105.
45920 CP 68 Jump to 45929 if A is not equal to 68.
45922 JR NZ,45929
45924 LD A,255 Write 255 to *46098.
45926 LD (46098),A
45929 LD A,D A=D.
45930 JR 45955 Jump to 45955.
45932 CP (IX+1) Jump to 45947 if *IX+1 is greater than or equal to 255.
45935 JR NC,45947
45937 DEC HL Decrease HL by one.
45938 LD A,(HL) Write *HL to *46097.
45939 LD (46097),A
45942 CALL 45966 Call 45966.
45945 JR 45955 Jump to 45955.
45947 INC HL Increment HL by one.
45948 LD A,(HL) A=*HL.
45949 LD (46097),A Write A to *46097.
45952 CALL 45966 Call 45966.
45955 POP HL Restore HL from the stack.
45956 LD (46092),A Write A to *46092.
45959 LD E,A E=A.
45960 LD D,0 D=0.
45962 AND A Set flags.
45963 SBC HL,DE HL-=DE (with carry).
45965 RET Return.
45966 LD B,A B=A.
45967 LD E,200 E=200.
45969 CALL 43125 Call 43125.
45972 CP (IX+2) Compare A with *IX+2.
45975 JR NC,45986 Jump to 45986 if HL is greater than or equal to A.
45977 LD A,68 Write INK: GREEN, PAPER: BLACK (BRIGHT) to *46105.
45979 LD (46105),A
45982 LD A,B A=B.
45983 ADD A,A A+=A.
45984 JR 46005 Jump to 46005.
45986 CP (IX+3) Compare A with *IX+3.
45989 JR NC,45999 Jump to 45999 if HL is greater than or equal to A.
45991 LD A,83 Write 83 to *46105.
45993 LD (46105),A
45996 LD A,B A=B.
45997 JR 46005 Jump to 46005.
45999 LD A,77 Write INK: CYAN, PAPER: BLUE (BRIGHT) to *46105.
46001 LD (46105),A
46004 XOR A A=0.
46005 RET Return.
Prev: 45724 Up: Map Next: 46006