Prev: 5BBB Up: Map Next: 8B64
8B10: Stage 1: Success Print
Used by the routine at BC48.
Open the upper screen channel.
Stage1Print 8B10 LD A,$02 A=02.
8B12 CALL $1601 Call CHAN_OPEN.
8B15 LD HL,$4000 Writes 00 to all 1800 screen buffer address locations (clears the screen).
8B18 LD DE,$4001
8B1B LD BC,$17FF
8B1E LD (HL),$00
8B20 LDIR
8B22 LD HL,$5800 Writes 07 to all 0300 attribute buffer address locations.
8B25 LD DE,$5801
8B28 LD BC,$02FF
8B2B LD (HL),$07
8B2D LDIR
8B2F LD A,$07 Write 07 to BORDCR.
8B31 LD ($5C48),A
8B34 XOR A
8B35 OUT ($FE),A
8B37 LD DE,$8B64 DE=Stage1Copy (text).
8B3A LD BC,$00A5 BC=A5 (counter).
8B3D CALL $203C Call PR_STRING.
8B40 CALL Stage1Copy_Joystick Call Stage1Copy_Joystick.
8B43 LD A,($5BA8) Jump to Stage1Print_Joystick if ControlMethod is 02 (Kempston Joystick).
8B46 CP $02
8B48 JP Z,Stage1Print_Joystick
Loops until "fire" is pressed from either the keyboard or Interface 2 joystick.
Stage1Print_Keyboard 8B4B LD A,$7F Read from the keyboard;
Port Number Bit
0 1 2 3 4
7F SPACE FULL-STOP M N B
8B4D IN A,($FE)
8B4F AND %00000001 Keep only bit 0.
8B51 RET Z Return if "SPACE" has been pressed.
8B52 LD A,$EF Read from the keyboard;
Port Number Bit
0 1 2 3 4
EF 0 9 8 7 6
8B54 IN A,($FE)
8B56 AND %00000001 Keep only bit 0.
8B58 RET Z Return if "0" has been pressed.
8B59 JP Stage1Print_Keyboard Jump to Stage1Print_Keyboard.
Loops until "fire" is pressed from the Kempston joystick.
Stage1Print_Joystick 8B5C IN A,($1F) Read Kempston Joystick input.
8B5E AND %00010000 Keep only bit 4.
8B60 JP Z,Stage1Print_Joystick Jump back to Stage1Print_Joystick until fire button is pressed.
8B63 RET Return.
Prev: 5BBB Up: Map Next: 8B64