ORG $6000 (actually loaded into $8800)
LEN $11D0
8800 68 PLA ;
8801 68 PLA ;
8802 68 PLA ;
8803 68 PLA ;
8804 4C 8F 89 JMP $898F ; prompt for request after first time
;; TALK TO LORD BRITISH
8807 A5 15 LDA $15 ; if _15 != 0x00
8809 D0 05 BNE $8810 ; been here before, go to $8810
880B E6 15 INC $15 ; _15++ (ot 0x01)
880D 4C D1 96 JMP $96D1 ; first time Lord British greeting
8810 A9 01 LDA #$01 ; .
8812 85 D4 STA $D4 ; _D4 = 0x01
8814 20 2D 08 JSR $082D ; set $FE/$FF vector based on $D4
8817 A0 45 LDY #$45 ; Y = 0x45
8819 B1 FE LDA ($FE),Y ; A = _ECXX[Y]
881B C9 C4 CMP #$C4 ; if A != 'D' (dead)
881D D0 3C BNE $885B ; lord britsh says welcome...
881F A9 C7 LDA #$C7 ; else: (if dead, resurrect)
8821 91 FE STA ($FE),Y ; _ECXX[Y] = 'G'
8823 20 30 08 JSR $0830 ; @@@ print character name?
8826 20 21 08 JSR $0821 ; print
8829 D4 C8 CF D5 A0 D3 C8 C1 CC D4 8D THOU SHALT^M
8834 CC C9 D6 C5 A0 C1 C7 C1 C9 CE A1 8D 00 LIVE AGAIN!^M^@
8841 A2 14 LDX #$14 ; play sound 0x0A for duration 0x14 ?
8843 A9 0A LDA #$0A ; .
8845 20 54 08 JSR $0854 ; .
8848 20 78 08 JSR $0878 ; invert the hires screen ?
884B A9 09 LDA #$09 ; play sound 0x09 for duration 0xC0 ?
884D A2 C0 LDX #$C0 ; .
884F 20 54 08 JSR $0854 ; .
8852 20 78 08 JSR $0878 ; invert the hires screen ?
8855 20 96 99 JSR $9996 ; for all living players, set status to 'G' and set health to max
8858 20 45 08 JSR $0845 ; display player stats ?
;;
885B 20 21 08 JSR $0821 ;
885E CC CF D2 C4 A0 C2 D2 C9 D4 C9 D3 C8 8D LORD BRITISH^M
886B D3 C1 D9 D3 BA A0 D7 C5 CC C3 CF CD C5 8D 00 SAYS: WELCOME^M^@
887A A9 01 LDA #$01 ; character_number = 1
887C 85 D4 STA $D4 ;
887E 20 30 08 JSR $0830 ; print character name?
8881 A5 0F LDA $0F ;
8883 C9 02 CMP #$02 ; if num_characters < 2
8885 90 04 BCC $888B ; go to $888B
8887 F0 15 BEQ $889E ; if num_characters == 2, got to $889E
8889 B0 34 BCS $88BF ; if num_characters >= 2, go to $88BF
;; < 2 characters
888B 20 21 08 JSR $0821 ; print
888E 8D CD D9 A0 C6 D2 C9 C5 CE C4 A1 8D 00 ^MMY FRIEND!^M^@
889B 4C E0 88 JMP $88E0 ;
;; 2 characters
889E 20 21 08 JSR $0821 ;
88A1 8D C1 CE C4 A0 D4 C8 C5 C5 A0 C1 CC D3 CF 8D 00 ^MAND THEE ALSO^M^@
88B1 E6 D4 INC $D4 ; character_number += 1
88B3 20 30 08 JSR $0830 ; print character name
88B6 20 21 08 JSR $0821 ; print
88B9 A1 8D 00 !^M^@
88BC 4C E0 88 JMP $88E0 ;
;; > 2 characters
88BF 20 21 08 JSR $0821 ; print
88C2 8D C1 CE C4 A0 D4 C8 D9 A0 D7 CF D2 D4 C8 D9 8D ^MAND THY WORTHY^M
88D2 C1 C4 D6 C5 CE D4 D5 D2 C5 D2 D3 A1 8D 00 ADVENTURERS!^M^@
;; from here to $8969 is looping over characters in party
88E0 A5 0F LDA $0F ;
88E2 85 D4 STA $D4 ; character_number = num_characters
88E4 20 2D 08 JSR $082D ; set $FE/$FF vector based on $D4
88E7 A0 1C LDY #$1C ;
88E9 B1 FE LDA ($FE),Y ; load #$1C for character
88EB 20 BE 99 JSR $99BE ; ???
;; basically work out the log base two of A and put it in X
88EE A2 01 LDX #$01 ; X = 1
88F0 C9 00 CMP #$00 ; if A = 0
88F2 F0 05 BEQ $88F9 ; break
88F4 4A LSR A ; A = A / 2
88F5 E8 INX ; X++
88F6 4C F0 88 JMP $88F0 ; loop back
88F9 8A TXA ; A = X
88FA A0 1A LDY #$1A ;
88FC D1 FE CMP ($FE),Y ; most-significant digit of max character health
88FE F0 65 BEQ $8965 ; if zero, skip to next character
8900 91 FE STA ($FE),Y ;
8902 85 EA STA $EA ; character buffer pointer
8904 A0 18 LDY #$18 ;
8906 91 FE STA ($FE),Y ; most-significant digit of character health
8908 A9 00 LDA #$00 ;
890A C8 INY ; Y++
890B 91 FE STA ($FE),Y ; set lower two digits of character health to 00
890D 20 2D 08 JSR $082D ; set $FE/$FF vector based on $D4
8910 A0 12 LDY #$12 ; set character status
8912 A9 C7 LDA #$C7 ; to 'G'
8914 91 FE STA ($FE),Y ; .
; seems to add a random number between 0 and 7 to character property $15 and $14, capped at max of $50 @@@
8916 A0 15 LDY #$15 ; not sure what 15 is
8918 20 4E 08 JSR $084E ; random number?
891B 29 07 AND #$07 ; mask to get low three bits
891D F8 SED ;
891E 38 SEC ;
891F 71 FE ADC ($FE),Y ; add to whatever is at byte Y of character description
8921 D8 CLD ;
8922 C9 51 CMP #$51 ; if < 0x51
8924 90 02 BCC $8928 ; skip
8926 A9 50 LDA #$50 ; otherwise make 0x50 (i.e. max out at 0x50)
8928 91 FE STA ($FE),Y ; and store back
892A 88 DEY ; Y-- (15 to 14 to 13)
892B C0 13 CPY #$13 ; if Y >= 13
892D B0 E9 BCS $8918 ; loop back
892F 20 52 8A JSR $8A52 ; print new line
8932 20 30 08 JSR $0830 ; print character name
8935 20 21 08 JSR $0821 ; print
8938 8D D4 C8 CF D5 A0 C1 D2 D4 A0 CE CF D7 8D ^MTHOU ART NOW^M
8946 CC C5 D6 C5 CC A0 00 LEVEL ^@
894D A5 EA LDA $EA ; ???
894F 20 66 08 JSR $0866 ; print single digit
8952 20 52 8A JSR $8A52 ; print new line
8955 20 78 08 JSR $0878 ; invert the hires screen?
8958 A9 09 LDA #$09 ; play sound 0x09 for 0xC0
895A A2 C0 LDX #$C0 ; .
895C 20 54 08 JSR $0854 ; .
895F 20 78 08 JSR $0878 ; invert the hires screen?
8962 20 45 08 JSR $0845 ; DISPLAY STATS
8965 C6 D4 DEC $D4 ; decrement character number
8967 F0 03 BEQ $896C ; if zero, skip
8969 4C E4 88 JMP $88E4 ; otherwise loop back to next character
;; prompt for request
896C 20 21 08 JSR $0821 ; print
896F 8D D7 C8 C1 D4 A0 D7 CF D5 CC C4 A0 D4 C8 CF D5 8D ^MWHAT WOULD THOU^M
8980 C1 D3 CB A0 CF C6 A0 CD C5 BF 8D 00 ASK OF ME?^M^@
898C 4C A4 89 JMP $89A4
;; prompt for request after first time
898F A9 01 LDA #$01 ; ???
8991 20 20 03 JSR $0320 ; SEL related?
8994 20 21 08 JSR $0821 ; print
8997 8D D7 C8 C1 D4 A0 C5 CC D3 C5 BF 8D 00 ^MWHAT ELSE?^M^@
;; get player request and act on it
89A4 20 1E 99 JSR $991E ; get player input
89A7 20 F8 98 JSR $98F8 ; convert what was typed in to the request number (e.g. JOB == 0x04)
89AA 10 28 BPL $89D4 ; if valid, go to $89D4, otherwise
89AC 20 35 8A JSR $8A35 ; print "HE SAYS:"
89AF 20 21 08 JSR $0821 ; print
89B2 C9 A0 C3 C1 CE CE CF D4 A0 C8 C5 CC D0 8D I CANNOT HELP^M
89C0 D4 C8 C5 C5 A0 D7 C9 D4 C8 A0 D4 C8 C1 D4 AE 8D 00 THEE WITH THAT.^M^@
89D1 4C 8F 89 JMP $898F ; go back to $898F (prompt for request after first time)
;; handle player request
; A is request number (e.g. JOB == 0x04)
89D4 0A ASL A ; Y = A * 2
89D5 A8 TAY ; .
89D6 B9 E3 89 LDA $89E3,Y ; load low byte of handler address
89D9 85 FE STA $FE ; and store in $FE
89DB B9 E4 89 LDA $89E4,Y ; load hight byte of handler address
89DE 85 FF STA $FF ; and store in $FF
89E0 6C FE 00 JMP (00FE) ; and jump to request handler
;; vector
89E3 80 8A ; 0x00 => $8A80
89E5 80 8A ; 0x01 => $8A80 BYE
89E7 B8 8A ; 0x02 => $8AB8 NAME
89E9 F7 8A ; 0x03 => $8AF7 LOOK
89EB 28 8B ; 0x04 => $8B28 JOB
89ED 6B 8B ; 0x05 => $8B6B HEAL
89EF F6 8B ; 0x06 => $8BF6 TRUT
89F1 5D 8C ; 0x07 => $8C5D LOVE
89F3 CC 8C ; 0x08 => $8CCC COUR
89F5 1D 8D ; 0x09 => $8D1D HONE
89F7 7A 8D ; 0x0A => $8D7A COMP
89F9 D3 8D ; 0x0B => $8DD3 VALO
89FB 1C 8E ; 0x0C => $8E1C JUST
89FD 61 8E ; 0x0D => $8E61 SACR
89FF B8 8E ; 0x0E => $8EB8 HONO
8A01 1A 8F ; 0x0F => $8F1A SPIR
8A03 74 8F ; 0x10 => $8F74 HUMI
8A05 54 90 ; 0x11 => $9054 PRID
8A07 46 91 ; 0x12 => $9146 AVAT
8A09 01 92 ; 0x13 => $9201 QUES
8A0B F9 92 ; 0x14 => $92F9 BRIT
8A0D 43 94 ; 0x15 => $9443 ANKH
8A0F C4 94 ; 0x16 => $94C4 HELP
8A11 DF 94 ; 0x17 => $94DF ABYS
8A13 FA 95 ; 0x18 => $95FA MOND
8A15 15 96 ; 0x19 => $9615 MINA
8A17 2E 96 ; 0x1A => $962E EXOD
8A19 48 96 ; 0x1B => $9648 VIRT
;; print "LORD BRITISH SAYS: "
8A1B 20 21 08 JSR $0821 ; print
8A1E 8D CC CF D2 C4 A0 C2 D2 C9 D4 C9 D3 C8 8D ^MLORD BRITISH^M
8A2C D3 C1 D9 D3 BA A0 8D 00 SAYS: ^M^@
8A34 60 RTS
;; print "HE SAYS:"
8A35 20 21 08 JSR $0821 ; print
8A38 8D C8 C5 A0 D3 C1 D9 D3 BA 8D 00 ^MHE SAYS:^M^@
8A43 60 RTS
;; print "HE ASKS:"
8A44 20 21 08 JSR $0821 ; print
8A47 8D C8 C5 A0 C1 D3 CB D3 BA 8D 00 ^MHE ASKS:^M^@
;; print newline
8A52 A9 8D LDA #$8D ; '^M'
8A54 20 24 08 JSR $0824 ; print character
8A57 60 RTS ;
;; get player input and return 0x00 if 'Y' and 0x01 if 'N'
8A58 20 1E 99 JSR $991E ; get player input
8A5B AD 00 03 LDA $0300 ;
8A5E C9 D9 CMP #$D9 ; if 'Y'
8A60 F0 18 BEQ $8A7A ; go to $8A7A
8A62 C9 CE CMP #$CE ; if 'N'
8A64 F0 17 BEQ $8A7D ; go to $8A7D
8A66 20 21 08 JSR $0821 ; print
8A69 8D D9 C5 D3 A0 CF D2 A0 CE CF BA 8D 00 ^MYES OR NO:^M^@
8A76 60 RTS ;
8A77 4C 58 8A JMP $8A58 ;
8A7A A9 00 LDA #$00 ; return 0x00 (YES)
8A7C 60 RTS ;
8A7D A9 01 LDA #$01 ; return 0x01 (NO)
8A7F 60 RTS ;
;; BYE
8A80 20 1B 8A JSR $8A1B ; print "LORD BRITISH SAYS: "
8A83 20 21 08 JSR $0821 ; print
8A86 C6 C1 D2 C5 A0 D4 C8 C5 C5 8D FARE THEE^M
8A90 D7 C5 CC CC A0 CD D9 A0 C6 D2 C9 C5 CE C4 00 WELL MY FRIEND^@
8A9F A5 0F LDA $0F ; party size
8AA1 C9 01 CMP #$01 ; if != 1
8AA3 D0 09 BNE $8AAE ; go to $8AAE
; just print '!' as only one party member
8AA5 20 21 08 JSR $0821 ; print
8AA8 A1 8D 00 !^M^@
8AAB 4C CE 99 JMP $99CE ; global return
; print 'S!' as more than one party member
8AAE 20 21 08 JSR $0821 ; print
8AB1 D3 A1 8D 00 S!^M^@
8AB5 4C CE 99 JMP $99CE ; global return
;; NAME
8AB8 20 35 8A JSR $8A35 ; print "HE SAYS:"
8ABB 20 21 08 JSR $0821 ; print
8ABE CD D9 A0 CE C1 CD C5 A0 C9 D3 8D MY NAME IS^M
8AC9 CC CF D2 C4 A0 C2 D2 C9 D4 C9 D3 C8 AC 8D LORD BRITISH,^M
8AD7 D3 CF D6 C5 D2 C5 C9 C7 CE A0 CF C6 8D SOVEREIGN OF^M
8AE4 C1 CC CC A0 C2 D2 C9 D4 C1 CE CE C9 C1 A1 8D 00 ALL BRITANNIA!^M^@
8AF4 4C 8F 89 JMP $898F ; prompt for request after first time
;; LOOK
8AF7 20 21 08
8AFA D4 C8 CF D5 A0 D3 C5 C5 A0 D4 C8 C5 8D THOU SEE THE^M
8B07 CB C9 CE C7 A0 D7 C9 D4 C8 A0 D4 C8 C5 8D KING WITH THE^M
8B15 D2 CF D9 C1 CC A0 D3 C3 C5 D0 D4 D2 C5 AE 8D 00 ROYAL SCEPTRE^M^@
8B25 4C 8F 89 JMP $898F ; prompt for request after first time
;; JOB
8B28 20 35 8A 20 21 08
8B2E C9 A0 D2 D5 CC C5 A0 C1 CC CC 8D I RULE ALL^M
C2 D2 C9 D4 C1 CE CE C9 C1 AC A0 C1 CE C4 8D BRITANNIA, AND^M
D3 C8 C1 CC CC A0 C4 CF A0 CD D9 A0 C2 C5 D3 D4 8D SHALL DO MY BEST^M
D4 CF A0 C8 C5 CC D0 A0 D4 C8 C5 C5 A1 8D 00 TO HELP THEE!^M^@
4C 8F 89 JMP $898F ; prompt for request after first time
;; HEAL
8B6B 20 35 8A JSR $8A35 ; print "HE SAYS:"
8B6E 20 21 08 JSR $0821 ; print
8B71 C9 A0 C1 CD A0 D7 C5 CC CC AC 8D I AM WELL,^M
8B7C D4 C8 C1 CE CB A0 D9 C5 AE 8D 00 THANK YE^M^@
8B87 20 44 8A JSR $8A44 ; print "HE ASKS:"
8B8A 20 21 08 JSR $0821 ; print
8B8D C1 D2 D4 A0 D4 C8 CF D5 A0 D7 C5 CC CC BF 8D 00 ART THOU WELL?^M^@
8B9D 20 58 8A JSR $8A58 ; get player Y/N input
8BA0 D0 18 BNE $8BBA ; if 'N' go to $8BBA, otherwise
8BA2 20 35 8A JSR $8A35 ; print "HE SAYS:"
8BA5 20 21 08 JSR $0821 ; print
8BA8 D4 C8 C1 D4 A0 C9 D3 A0 C7 CF CF C4 AE 8D 00 THAT IS GOOD.^M^@
8BB7 4C 8F 89 JMP $898F ; prompt for request after first time
;; if the player says 'N' to 'ART THOU WELL?'
8BBA 20 35 8A JSR $8A35 ; print "HE SAYS:"
8BBD 20 21 08 JSR $0821 ; print
8BC0 CC C5 D4 A0 CD C5 A0 C8 C5 C1 CC 8D LET ME HEAL^M
8BCC D4 C8 D9 A0 D7 CF D5 CE C4 D3 A1 8D 00 THY WOUNDS!^M^@
8BD9 A2 14 LDX #$14 ; play sound 0x0A for duration 0x14
8BDB A9 0A LDA #$0A ; .
8BDD 20 54 08 JSR $0854 ; .
8BE0 20 78 08 JSR $0878 ; invert the hires screen
8BE3 A9 09 LDA #$09 ; play sound 0x09 for duration 0xC0
8BE5 A2 C0 LDX #$C0 ; .
8BE7 20 54 08 JSR $0854 ; .
8BEA 20 78 08 JSR $0878 ; invert the hires screen
8BED 20 96 99 JSR $9996 ; for all living players, set status to 'G' and set health to max
8BF0 20 45 08 JSR $0845 ; DISPLAY STATS
8BF3 4C 8F 89 JMP $898F ; prompt for request after first time
;; TRUT
8BF6 20 35 8A JSR $8A35 ; print "HE SAYS:"
8BF9 20 21 08 JSR $0821 ; print
8BFC CD C1 CE D9 A0 D4 D2 D5 D4 C8 D3 A0 C3 C1 CE 8D MANY TRUTHS CAN.
8C0C C2 C5 A0 CC C5 C1 D2 CE C5 C4 A0 C1 D4 8D D4 C8 BE LEARNED AT.TH
8C1C C5 A0 CC D9 C3 C1 C5 D5 CD AE A0 C9 D4 8D CC C9 E LYCAEUM. IT.LI
8C2C C5 D3 A0 CF CE A0 D4 C8 C5 8D CE CF D2 D4 C8 D7 ES ON THE.NORTHW
8C3C C5 D3 D4 C5 D2 CE 8D D3 C8 CF D2 C5 A0 CF C6 A0 ESTERN.SHORE OF
8C4C D6 C5 D2 C9 D4 D9 8D C9 D3 CC C5 A1 8D 00 VERITY.ISLE!..
8C5A 4C 8F 89 JMP $898F ; prompt for request after first time
;; LOVE
8C5D 20 35 8A JSR $8A35 ; print "HE SAYS:"
8C60 20 21 08 JSR $0821 ; print
8C63 CC CF CF CB A0 C6 CF D2 A0 LOOK FOR
8C6C D4 C8 C5 8D CD C5 C1 CE C9 CE C7 A0 CF C6 A0 CC THE.MEANING OF L
8C7C CF D6 C5 8D C1 D4 A0 C5 CD D0 C1 D4 C8 A0 C1 C2 OVE.AT EMPATH AB
8C8C C2 C5 D9 AE 8D D4 C8 C5 A0 C1 C2 C2 C5 D9 A0 D3 BEY..THE ABBEY S
8C9C C9 D4 D3 8D CF CE A0 D4 C8 C5 A0 D7 C5 D3 D4 C5 ITS.ON THE WESTE
8CAC D2 CE 8D C5 C4 C7 C5 A0 CF C6 A0 D4 C8 C5 A0 C4 RN.EDGE OF THE D
8CBC C5 C5 D0 8D C6 CF D2 C5 D3 D4 A1 8D 00 EEP.FOREST!..
8CC9 4C 8F 89 JMP $898F ; prompt for request after first time
;; COUR
8CCC 20 35 8A 20 21 08
8CD2 D3 C5 D2 D0 C5 CE D4 A0 C3 C1 SERPENT CA
8CDC D3 D4 CC C5 8D CF CE A0 D4 C8 C5 A0 C9 D3 CC C5 STLE.ON THE ISLE
8CEC A0 CF C6 8D C4 C5 C5 C4 D3 A0 C9 D3 A0 D7 C8 C5 OF.DEEDS IS WHE
8CFC D2 C5 8D C3 CF D5 D2 C1 C7 C5 A0 D3 C8 CF D5 CC RE.COURAGE SHOUL
8D0C C4 8D C2 C5 A0 D3 CF D5 C7 C8 D4 A1 8D 00 D.BE SOUGHT!..
8D1A 4C 8F 89 JMP $898F ; prompt for request after first time
;; HONE
8D1D 20 35 8A 20 21 08
8D23 D4 C8 C5 A0 C6 C1 C9 D2 A0 THE FAIR
8D2C D4 CF D7 CE C5 8D CF C6 A0 CD CF CF CE C7 CC CF TOWNE.OF MOONGLO
8D3C D7 A0 CF CE 8D C4 C1 C7 C7 C5 D2 A0 C9 D3 CC C5 W ON.DAGGER ISLE
8D4C AC A0 C9 D3 8D D7 C8 C5 D2 C5 A0 D4 C8 C5 A0 D6 , IS.WHERE THE V
8D5C C9 D2 D4 D5 C5 8D CF C6 A0 C8 CF CE C5 D3 D4 D9 IRTUE.OF HONESTY
8D6C 8D D4 C8 D2 C9 D6 C5 D3 A1 8D 00 .THRIVES!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; COMP
8D7A 20 35 8A 20 21 08
8D80 D4 C8 C5 A0 C2 C1 D2 C4 D3 A0 C9 CE THE BARDS IN
8D8C A0 D4 C8 C5 8D D4 CF D7 CE C5 A0 CF C6 A0 C2 D2 THE.TOWNE OF BR
8D9C C9 D4 C1 C9 CE 8D C1 D2 C5 A0 D7 C5 CC CC A0 D6 ITAIN.ARE WELL V
8DAC C5 D2 D3 C5 C4 8D C9 CE A0 D4 C8 C5 A0 D6 C9 D2 ERSED.IN THE VIR
8DBC D4 D5 C5 A0 CF C6 8D C3 CF CD D0 C1 D3 D3 C9 CF TUE OF.COMPASSIO
8DCC CE A1 8D 00 N!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; VALO
8DD3 20 35 8A 20 21 08
8DD9 CD C1 CE MAN
8DDC D9 A0 D6 C1 CC C9 C1 CE D4 8D C6 C9 C7 C8 D4 C5 Y VALIANT.FIGHTE
8DEC D2 D3 A0 C3 CF CD C5 8D C6 D2 CF CD A0 CA C8 C5 RS COME.FROM JHE
8DFC CC CF CD AC 8D C9 CE A0 D4 C8 C5 A0 D6 C1 CC C1 LOM,.IN THE VALA
8E0C D2 C9 C1 CE 8D C9 D3 CC C5 D3 A1 8D 00 RIAN.ISLES!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; JUST
8E1C 20 35 8A 20 21 08 C9 CE A0 D4 C8 C5 A0 C3 C9 D4 5. !.IN THE CIT
8E2C D9 A0 CF C6 8D D9 C5 D7 AC A0 C9 CE A0 D4 C8 C5 Y OF.YEW, IN THE
8E3C A0 C4 C5 C5 D0 8D C6 CF D2 C5 D3 D4 AC A0 CA D5 DEEP.FOREST, JU
8E4C D3 D4 C9 C3 C5 8D C9 D3 A0 D3 C5 D2 D6 C5 C4 A1 STICE.IS SERVED!
8E5C 8D 00
4C 8F 89 JMP $898F ; prompt for request after first time
;; SACR
8E61 20 35 8A 20 21 08 CD C9 CE CF C3 5. !.MINOC
8E6C AC A0 D4 CF D7 CE C5 A0 CF C6 8D D3 C5 CC C6 AD , TOWNE OF.SELF-
8E7C D3 C1 C3 D2 C9 C6 C9 C3 C5 AC 8D CC C9 C5 D3 A0 SACRIFICE,.LIES
8E8C CF CE A0 D4 C8 C5 8D C5 C1 D3 D4 C5 D2 CE A0 D3 ON THE.EASTERN S
8E9C C8 CF D2 C5 D3 8D CF C6 A0 CC CF D3 D4 A0 C8 CF HORES.OF LOST HO
8EAC D0 C5 8D C2 C1 D9 A1 8D 00 PE.BAY!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; HONO
8EB8 20 35 8A 20
8EBC 21 08 D4 C8 C5 A0 D0 C1 CC C1 C4 C9 CE D3 A0 D7 !.THE PALADINS W
8ECC C8 CF 8D D3 D4 D2 C9 D6 C5 A0 C6 CF D2 A0 C8 CF HO.STRIVE FOR HO
8EDC CE CF D2 8D C1 D2 C5 A0 CF C6 D4 A0 D3 C5 C5 CE NOR.ARE OFT SEEN
8EEC A0 C9 CE 8D D4 D2 C9 CE D3 C9 C3 AC A0 CE CF D2 IN.TRINSIC, NOR
8EFC D4 C8 8D CF C6 A0 D4 C8 C5 A0 C3 C1 D0 C5 A0 CF TH.OF THE CAPE O
8F0C C6 8D C8 C5 D2 CF C5 D3 A1 8D 00 F.HEROES!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; SPIR
8F1A 20 35 5
8F1C 8A 20 21 08 C9 CE A0 D3 CB C1 D2 C1 A0 C2 D2 C1 . !.IN SKARA BRA
8F2C C5 8D D4 C8 C5 A0 D3 D0 C9 D2 C9 D4 D5 C1 CC 8D E.THE SPIRITUAL.
8F3C D0 C1 D4 C8 A0 C9 D3 A0 D4 C1 D5 C7 C8 D4 AC 8D PATH IS TAUGHT,.
8F4C C6 C9 CE C4 A0 C9 D4 A0 CF CE A0 C1 CE 8D C9 D3 FIND IT ON AN.IS
8F5C CC C5 A0 CE C5 C1 D2 8D D3 D0 C9 D2 C9 D4 D7 CF LE NEAR.SPIRITWO
8F6C CF C4 A1 8D 00 OD!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; HUMI
8F74 20 35 8A 20 21 08 C8 D5 5. !.HU
8F7C CD C9 CC C9 D4 D9 A0 C9 D3 A0 D4 C8 C5 8D C6 CF MILITY IS THE.FO
8F8C D5 CE C4 C1 D4 C9 CF CE A0 CF C6 8D D6 C9 D2 D4 UNDATION OF.VIRT
8F9C D5 C5 A1 A0 D4 C8 C5 8D D2 D5 C9 CE D3 A0 CF C6 UE! THE.RUINS OF
8FAC A0 D0 D2 CF D5 C4 8D CD C1 C7 C9 CE C3 C9 C1 A0 PROUD.MAGINCIA
8FBC C1 D2 C5 A0 C1 8D D4 C5 D3 D4 C9 CD CF CE D9 A0 ARE A.TESTIMONY
8FCC D5 CE D4 CF 8D D4 C8 C5 A0 D6 C9 D2 D4 D5 C5 A0 UNTO.THE VIRTUE
8FDC CF C6 8D C8 D5 CD C9 CC C9 D4 D9 A1 8D 00 20 00 OF.HUMILITY!.. .
8FEC 08 20 21 08 8D C6 C9 CE C4 A0 D4 C8 C5 A0 D2 D5 . !..FIND THE RU
8FFC C9 CE D3 8D CF C6 A0 CD C1 C7 C9 CE C3 C9 C1 A0 INS.OF MAGINCIA
900C C6 C1 D2 8D CF C6 C6 A0 D4 C8 C5 A0 D3 C8 CF D2 FAR.OFF THE SHOR
901C C5 D3 8D CF C6 A0 C2 D2 C9 D4 C1 CE CE C9 C1 AC ES.OF BRITANNIA,
902C 8D CF CE A0 C1 A0 D3 CD C1 CC CC A0 C9 D3 CC C5 .ON A SMALL ISLE
903C 8D C9 CE A0 D4 C8 C5 A0 D6 C1 D3 D4 8D CF C3 C5 .IN THE VAST.OCE
904C C1 CE A1 8D 00 AN!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; PRID
9054 20 35 8A 20 21 08 CF C6 5. !.OF
905C A0 D4 C8 C5 A0 C5 C9 C7 C8 D4 8D C3 CF CD C2 C9 THE EIGHT.COMBI
906C CE C1 D4 C9 CF CE D3 A0 CF C6 8D D4 D2 D5 D4 C8 NATIONS OF.TRUTH
907C AC A0 CC CF D6 C5 A0 C1 CE C4 8D C3 CF D5 D2 C1 , LOVE AND.COURA
908C C7 C5 AC A0 D4 C8 C1 D4 8D D7 C8 C9 C3 C8 A0 C3 GE, THAT.WHICH C
909C CF CE D4 C1 C9 CE D3 8D CE C5 C9 D4 C8 C5 D2 A0 ONTAINS.NEITHER
90AC D4 D2 D5 D4 C8 AC 8D CC CF D6 C5 A0 CE CF D2 A0 TRUTH,.LOVE NOR
90BC C3 CF D5 D2 C1 C7 C5 8D C9 D3 A0 D0 D2 C9 C4 C5 COURAGE.IS PRIDE
90CC AE 8D 00 20 00 08 20 21 08 8D D0 D2 C9 C4 C5 A0 ... .. !..PRIDE
90DC C2 C5 C9 CE C7 A0 CE CF D4 8D C1 A0 D6 C9 D2 D4 BEING NOT.A VIRT
90EC D5 C5 A0 CD D5 D3 D4 A0 C2 C5 8D D3 C8 D5 CE CE UE MUST BE.SHUNN
90FC C5 C4 A0 C9 CE A0 C6 C1 D6 CF D2 8D CF C6 A0 C8 ED IN FAVOR.OF H
910C D5 CD C9 CC C9 D4 D9 AC A0 D4 C8 C5 8D D6 C9 D2 UMILITY, THE.VIR
911C D4 D5 C5 A0 D7 C8 C9 C3 C8 A0 C9 D3 8D D4 C8 C5 TUE WHICH IS.THE
912C A0 C1 CE D4 C9 D4 C8 C5 D3 C9 D3 8D CF C6 A0 D0 ANTITHESIS.OF P
913C D2 C9 C4 C5 A1 8D 00 RIDE!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; AVAT
9146 20 1B 8A 20 21 08
914C D4 CF A0 C2 C5 A0 C1 CE A0 C1 D6 C1 D4 C1 D2 8D TO BE AN AVATAR.
915C C9 D3 A0 D4 CF A0 C2 C5 A0 D4 C8 C5 8D C5 CD C2 IS TO BE THE.EMB
916C CF C4 C9 CD C5 CE D4 A0 CF C6 8D D4 C8 C5 A0 C5 ODIMENT OF.THE E
917C C9 C7 C8 D4 8D D6 C9 D2 D4 D5 C5 D3 AE 8D 00 20 IGHT.VIRTUES...
918C 00 08 20 21 08 8D C9 D4 A0 C9 D3 A0 D4 CF A0 CC .. !..IT IS TO L
919C C9 D6 C5 A0 C1 8D CC C9 C6 C5 A0 C3 CF CE D3 D4 IVE A.LIFE CONST
91AC C1 CE D4 CC D9 8D C1 CE C4 A0 C6 CF D2 C5 D6 C5 ANTLY.AND FOREVE
91BC D2 A0 C9 CE 8D D4 C8 C5 A0 D1 D5 C5 D3 D4 A0 D4 R IN.THE QUEST T
91CC CF 8D C2 C5 D4 D4 C5 D2 A0 D4 C8 D9 D3 C5 CC C6 O.BETTER THYSELF
91DC 8D C1 CE C4 A0 D4 C8 C5 A0 D7 CF D2 CC C4 A0 C9 .AND THE WORLD I
91EC CE 8D D7 C8 C9 C3 C8 A0 D7 C5 A0 CC C9 D6 C5 AE N.WHICH WE LIVE.
91FC 8D 00 ..
4C 8F 89 JMP $898F ; prompt for request after first time
;; QUES
9201 20 1B 8A 20 21 08 D4 C8 C5 A0 D1 .. !.THE Q
920C D5 C5 D3 D4 A0 CF C6 8D D4 C8 C5 A0 C1 D6 C1 D4 UEST OF.THE AVAT
921C C1 D2 A0 C9 D3 8D C9 D3 A0 D4 CF A0 CB CE CF D7 AR IS.IS TO KNOW
922C A0 C1 CE C4 8D C2 C5 C3 CF CD C5 A0 D4 C8 C5 8D AND.BECOME THE.
923C C5 CD C2 CF C4 C9 CD C5 CE D4 A0 CF C6 8D D4 C8 EMBODIMENT OF.TH
924C C5 A0 C5 C9 C7 C8 D4 8D D6 C9 D2 D4 D5 C5 D3 A0 E EIGHT.VIRTUES
925C CF C6 8D C7 CF CF C4 CE C5 D3 D3 A1 8D 00 20 00 OF.GOODNESS!.. .
926C 08 20 21 08 8D C9 D4 A0 C9 D3 A0 CB CE CF D7 CE . !..IT IS KNOWN
927C A0 D4 C8 C1 D4 8D C1 CC CC A0 D7 C8 CF A0 D4 C1 THAT.ALL WHO TA
928C CB C5 A0 CF CE 8D D4 C8 C9 D3 A0 D1 D5 C5 D3 D4 KE ON.THIS QUEST
929C A0 CD D5 D3 D4 8D D0 D2 CF D6 C5 A0 D4 C8 C5 CD MUST.PROVE THEM
92AC D3 C5 CC D6 C5 D3 8D C2 D9 A0 C3 CF CE D1 D5 C5 SELVES.BY CONQUE
92BC D2 C9 CE C7 8D D4 C8 C5 A0 C1 C2 D9 D3 D3 A0 C1 RING.THE ABYSS A
92CC CE C4 8D D6 C9 C5 D7 C9 CE C7 A0 D4 C8 C5 8D C3 ND.VIEWING THE.C
92DC CF C4 C5 D8 A0 CF C6 8D D5 CC D4 C9 CD C1 D4 C5 ODEX OF.ULTIMATE
92EC A0 D7 C9 D3 C4 CF CD A1 8D 00 WISDOM!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; BRIT
92F9 20 35 8A
92FC 20 21 08 C5 D6 C5 CE A0 D4 C8 CF D5 C7 C8 A0 D4 !.EVEN THOUGH T
930C C8 C5 8D C7 D2 C5 C1 D4 A0 C5 D6 C9 CC A0 CC CF HE.GREAT EVIL LO
931C D2 C4 D3 8D C8 C1 D6 C5 A0 C2 C5 C5 CE A0 D2 CF RDS.HAVE BEEN RO
932C D5 D4 C5 C4 8D C5 D6 C9 CC A0 D9 C5 D4 A0 D2 C5 UTED.EVIL YET RE
933C CD C1 C9 CE D3 8D C9 CE A0 C2 D2 C9 D4 C1 CE CE MAINS.IN BRITANN
934C C9 C1 AE 8D 00 20 00 08 20 21 08 8D C9 C6 A0 C2 IA... .. !..IF B
935C D5 D4 A0 CF CE C5 A0 D3 CF D5 CC 8D C3 CF D5 CC UT ONE SOUL.COUL
936C C4 A0 C3 CF CD D0 CC C5 D4 C5 8D D4 C8 C5 A0 D1 D COMPLETE.THE Q
937C D5 C5 D3 D4 A0 CF C6 A0 D4 C8 C5 8D C1 D6 C1 D4 UEST OF THE.AVAT
938C C1 D2 AC A0 CF D5 D2 8D D0 C5 CF D0 CC C5 A0 D7 AR, OUR.PEOPLE W
939C CF D5 CC C4 8D C8 C1 D6 C5 A0 C1 A0 CE C5 D7 A0 OULD.HAVE A NEW
93AC C8 CF D0 C5 AC 8D C1 A0 CE C5 D7 A0 C7 CF C1 CC HOPE,.A NEW GOAL
93BC A0 C6 CF D2 8D CC C9 C6 C5 AE 8D 00 20 00 08 20 FOR.LIFE... ..
93CC 21 08 8D D4 C8 C5 D2 C5 A0 D7 CF D5 CC C4 A0 C2 !..THERE WOULD B
93DC C5 A0 C1 8D D3 C8 C9 CE C9 CE C7 A0 C5 D8 C1 CD E A.SHINING EXAM
93EC D0 CC C5 8D D4 C8 C1 D4 A0 D4 C8 C5 D2 C5 A0 C9 PLE.THAT THERE I
93FC D3 8D CD CF D2 C5 A0 D4 CF A0 CC C9 C6 C5 8D D4 S.MORE TO LIFE.T
940C C8 C1 CE A0 D4 C8 C5 A0 C5 CE C4 CC C5 D3 D3 8D HAN THE ENDLESS.
941C D3 D4 D2 D5 C7 C7 CC C5 A0 C6 CF D2 8D D0 CF D3 STRUGGLE FOR.POS
942C D3 C5 D3 D3 C9 CF CE D3 8D C1 CE C4 A0 C7 CF CC SESSIONS.AND GOL
943C C4 A1 8D 00 D!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; ANKH
9443 20 35 8A 20 21 08 D4 C8 C5 5. !.THE
944C A0 C1 CE CB C8 A0 C9 D3 A0 D4 C8 C5 8D D3 D9 CD ANKH IS THE.SYM
945C C2 CF CC A0 CF C6 A0 CF CE C5 8D D7 C8 CF A0 D3 BOL OF ONE.WHO S
946C D4 D2 C9 D6 C5 D3 A0 C6 CF D2 8D D6 C9 D2 D4 D5 TRIVES FOR.VIRTU
947C C5 AC A0 CB C5 C5 D0 A0 C9 D4 8D D7 C9 D4 C8 A0 E, KEEP IT.WITH
948C D4 C8 C5 C5 A0 C1 D4 8D D4 C9 CD C5 D3 A0 C6 CF THEE AT.TIMES FO
949C D2 A0 C2 D9 8D D4 C8 C9 D3 A0 CD C1 D2 CB A0 D4 R BY.THIS MARK T
94AC C8 CF D5 8D D3 C8 C1 CC D4 A0 C2 C5 A0 CB CE CF HOU.SHALT BE KNO
94BC D7 CE A1 8D 00 WN!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; HELP
94C4 A9 00 20 20 03 20 1B 08 ). . ..
94CC 84 C2 D2 D5 CE A0 C8 C5 CC D0 AC C1 A4 B8 B8 B0 .BRUN HELP,A$880
94DC B0 8D 00 0..
;; ABYS
94DF 20 35 8A 20 21 08 D4 C8 C5 A0 C7 D2 C5 5. !.THE GRE
94EC C1 D4 8D D3 D4 D9 C7 C9 C1 CE A0 C1 C2 D9 D3 D3 AT.STYGIAN ABYSS
94FC 8D C9 D3 A0 D4 C8 C5 A0 C4 C1 D2 CB C5 D3 D4 8D .IS THE DARKEST.
950C D0 CF C3 CB C5 D4 A0 CF C6 A0 C5 D6 C9 CC 8D D2 POCKET OF EVIL.R
951C C5 CD C1 C9 CE C9 CE C7 A0 C9 CE 8D C2 D2 C9 D4 EMAINING IN.BRIT
952C C1 CE CE C9 C1 A1 8D 00 20 00 08 20 21 08 8D C9 ANNIA!.. .. !..I
953C D4 A0 C9 D3 A0 D3 C1 C9 C4 A0 D4 C8 C1 D4 8D C9 T IS SAID THAT.I
954C CE A0 D4 C8 C5 A0 C4 C5 C5 D0 C5 D3 D4 8D D2 C5 N THE DEEPEST.RE
955C C3 C5 D3 D3 C5 D3 A0 CF C6 A0 D4 C8 C5 8D C1 C2 CESSES OF THE.AB
956C D9 D3 D3 A0 C9 D3 A0 D4 C8 C5 8D C3 C8 C1 CD C2 YSS IS THE.CHAMB
957C C5 D2 A0 CF C6 A0 D4 C8 C5 8D C3 CF C4 C5 D8 A1 ER OF THE.CODEX!
958C 8D 00 20 00 08 20 21 08 8D C9 D4 A0 C9 D3 A0 C1 .. .. !..IT IS A
959C CC D3 CF A0 D3 C1 C9 C4 8D D4 C8 C1 D4 A0 CF CE LSO SAID.THAT ON
95AC CC D9 A0 CF CE C5 A0 CF C6 8D C8 C9 C7 C8 C5 D3 LY ONE OF.HIGHES
95BC D4 A0 D6 C9 D2 D4 D5 C5 8D CD C1 D9 A0 C5 CE D4 T VIRTUE.MAY ENT
95CC C5 D2 A0 D4 C8 C9 D3 8D C3 C8 C1 CD C2 C5 D2 AC ER THIS.CHAMBER,
95DC A0 CF CE C5 8D D3 D5 C3 C8 A0 C1 D3 A0 C1 CE 8D ONE.SUCH AS AN.
95EC C1 D6 C1 D4 C1 D2 A1 A1 A1 8D 00 AVATAR!!!..
4C 8F 89 JMP $898F ; prompt for request after first time
;; MOND
95FA 20 35 8A 20 21 08
9600 CD CF CE C4 C1 C9 CE A0 C9 D3 A0 C4 C5 C1 C4 A1 8D 00 MONDAIN IS DEAD!^M^@
9612 4C 8F 89 JMP $898F ; prompt for request after first time
;; MINA
9615 20 35 8A 20 21 08
961B CD C9 CE C1 D8 A0 C9 D3 A0 C4 C5 C1 C4 A1 8D 00 MINAX IS DEAD!^M^@
962B 4C 8F 89 JMP $898F ; prompt for request after first time
;; EXOD
962E 20 35 8A 20 21 08
9634 C5 D8 CF C4 D5 D3 A0 C9 D3 A0 C4 C5 C1 C4 A1 8D 00 EXODUS IS DEAD!^M^@
4C 8F 89 JMP $898F ; prompt for request after first time
;; VIRT
9648 20 35 8A 20 21 08
964E D4 C8 C5 A0 C5 C9 C7 C8 D4 8D D6 C9 D2 D4 THE EIGHT.VIRT
965C D5 C5 D3 A0 CF C6 A0 D4 C8 C5 8D C1 D6 C1 D4 C1 UES OF THE.AVATA
966C D2 A0 C1 D2 C5 BA 8D 00 20 00 08 20 21 08 C8 CF R ARE:.. .. !.HO
967C CE C5 D3 D4 D9 AC 8D C3 CF CD D0 C1 D3 D3 C9 CF NESTY,.COMPASSIO
968C CE AC 8D D6 C1 CC CF D2 AC 8D CA D5 D3 D4 C9 C3 N,.VALOR,.JUSTIC
969C C5 AC 8D D3 C1 C3 D2 C9 C6 C9 C3 C5 AC 8D C8 CF E,.SACRIFICE,.HO
96AC CE CF D2 AC 8D D3 D0 C9 D2 C9 D4 D5 C1 CC C9 D4 NOR,.SPIRITUALIT
96BC D9 AC 8D C1 CE C4 A0 C8 D5 CD C9 CC C9 D4 D9 A1 Y,.AND HUMILITY!
96CC 8D 00
4C 8F 89 JMP $898F ; prompt for request after first time
;;
96D1 20 21 08 JSR $0821 ;
96D4 CC CF D2 C4 A0 C2 D2 C9 D4 C9 D3 C8 8D LORD BRITISH^M
96E1 D2 C9 D3 C5 D3 A0 C1 CE C4 A0 D3 C1 D9 D3 8D RISES AND SAYS^M
96F0 C1 D4 A0 CC CF CE C7 A0 CC C1 D3 D4 A1 8D 00 AT LONG LAST!^M^@
96FF A9 01 LDA #$01 ; .
9701 85 D4 STA $D4 ; set character number to 1
9703 20 30 08 JSR $0830 ; print character name
9706 20 21 08 JSR $0821 ; print
9709 8D D4 C8 ^MTH
970C CF D5 A0 C8 C1 D3 D4 A0 C3 CF CD C5 A1 8D D7 C5 OU HAST COME!.WE
971C A0 C8 C1 D6 C5 A0 D7 C1 C9 D4 C5 C4 8D D3 D5 C3 HAVE WAITED.SUC
972C C8 A0 C1 A0 CC CF CE C7 AC 8D CC CF CE C7 A0 D4 H A LONG,.LONG T
973C C9 CD C5 AE AE AE 8D 00 IME.....
20 00 08 20 21 08
8D CC .L
974C CF D2 C4 A0 C2 D2 C9 D4 C9 D3 C8 8D D3 C9 D4 D3 ORD BRITISH.SITS
975C A0 C1 CE C4 A0 D3 C1 D9 D3 BA 8D C1 A0 CE C5 D7 AND SAYS:.A NEW
976C A0 C1 C7 C5 A0 C9 D3 8D D5 D0 CF CE A0 C2 D2 C9 AGE IS.UPON BRI
977C D4 C1 CE CE C9 C1 AE 8D D4 C8 C5 A0 C7 D2 C5 C1 TANNIA..THE GREA
978C D4 A0 C5 D6 C9 CC 8D CC CF D2 C4 D3 A0 C1 D2 C5 T EVIL.LORDS ARE
979C A0 C7 CF CE C5 8D C2 D5 D4 A0 CF D5 D2 A0 D0 C5 GONE.BUT OUR PE
97AC CF D0 CC C5 8D CC C1 C3 CB A0 C4 C9 D2 C5 C3 D4 OPLE.LACK DIRECT
97BC C9 CF CE 8D C1 CE C4 A0 D0 D5 D2 D0 CF D3 C5 A0 ION.AND PURPOSE
97CC C9 CE 8D D4 C8 C5 C9 D2 A0 CC C9 D6 C5 D3 AE AE IN.THEIR LIVES..
97DC AE 00 ..
20 00 08 20 21 08
8D 8D C1 A0 C3 C8 C1 CD ..A CHAM
97EC D0 C9 CF CE A0 CF C6 8D D6 C9 D2 D4 D5 C5 A0 C9 PION OF.VIRTUE I
97FC D3 A0 C3 C1 CC CC C5 C4 8D C6 CF D2 AE A0 D4 C8 S CALLED.FOR. TH
980C CF D5 A0 CD C1 D9 A0 C2 C5 8D D4 C8 C9 D3 A0 C3 OU MAY BE.THIS C
981C C8 C1 CD D0 C9 CF CE AC 8D C2 D5 D4 A0 CF CE CC HAMPION,.BUT ONL
982C D9 A0 D4 C9 CD C5 8D D3 C8 C1 CC CC A0 D4 C5 CC Y TIME.SHALL TEL
983C CC AE A0 C9 8D D7 C9 CC CC A0 C1 C9 C4 A0 D4 C8 L. I.WILL AID TH
984C C5 C5 8D C1 CE D9 A0 D7 C1 D9 A0 D4 C8 C1 D4 A0 EE.ANY WAY THAT
985C C9 8D C3 C1 CE A1 8D 00 I.CAN!..
20 00 08 20 21 08
8D C8 .H
986C CF D7 A0 CD C1 D9 A0 C9 8D C8 C5 CC D0 A0 D4 C8 OW MAY I.HELP TH
987C C5 C5 BF 8D 00
4C A4 89
;; things to say to Lord British
9884 A0 A0 A0 A0 00
9888 C2 D9 C5 A0 01 BYE
988C CE C1 CD C5 02 NAME
9890 CC CF CF CB 03 LOOK
9894 CA CF C2 A0 04 JOB
9898 C8 C5 C1 CC 05 HEAL
989C D4 D2 D5 D4 06 TRUT
98A0 CC CF D6 C5 07 LOVE
98A4 C3 CF D5 D2 08 COUR
98A8 C8 CF CE C5 09 HONE
98AC C3 CF CD D0 0A COMP
98B0 D6 C1 CC CF 0B VALO
98B4 CA D5 D3 D4 0C JUST
98B8 D3 C1 C3 D2 0D SACR
98BC C8 CF CE CF 0E HONO
98C0 D3 D0 C9 D2 0F SPIR
98C4 C8 D5 CD C9 10 HUMI
98C8 D0 D2 C9 C4 11 PRID
98CC C1 D6 C1 D4 12 AVAT
98D0 D1 D5 C5 D3 13 QUES
98D4 C2 D2 C9 D4 14 BRIT
98D8 C1 CE CB C8 15 ANKH
98DC C8 C5 CC D0 16 HELP
98E0 C1 C2 D9 D3 17 ABYS
98E4 CD CF CE C4 18 MOND
98E8 CD C9 CE C1 19 MINA
98EC C5 D8 CF C4 1A EXOD
98F0 D6 C9 D2 D4 1B VIRT
98F4 00 00 00 00
;; convert what was typed in to the command number above (e.g. JOB == 0x04)
; or $FF if unknown command
98F8 A9 00 LDA #$00 ; _EA = 0
98FA 85 EA STA $EA ;
98FC A5 EA LDA $EA ; A = _EA
98FE 0A ASL A ;
98FF 0A ASL A ;
9900 A8 TAY ; Y = A * 4
9901 A2 00 LDX #$00 ; X = 0x00
9903 B9 84 98 LDA $9884,Y ; look at COMMANDS[_EA * 4]
9906 F0 13 BEQ $991B ; if zero, we've hit end so go return 0xFF
9908 DD 00 03 CMP $0300,X ; if character doesn't match between buffer and command table
990B D0 09 BNE $9916 ; go on to next command
990D C8 INY ; if it does much, increment Y (index into commands)
990E E8 INX ; and increment X (index into buffer)
990F E0 04 CPX #$04 ; if index is X < 4,
9911 90 F0 BCC $9903 ; look back to next character
9913 A5 EA LDA $EA ; otherwise return
9915 60 RTS ; the command index
9916 E6 EA INC $EA ; increment $EA and
9918 4C FC 98 JMP $98FC ; loop back
991B A9 FF LDA #$FF ;
991D 60 RTS ;
;; get input
991E A9 BF LDA #$BF ; '?'
9920 20 24 08 JSR $0824 ; print character
9923 A9 00 LDA #$00 ; _EA = 0x00
9925 85 EA STA $EA ; .
9927 20 00 08 JSR $0800 ; get input?
992A C9 8D CMP #$8D ; if ^M
992C F0 2C BEQ $995A ; go to $995A
992E C9 88 CMP #$88 ; if ^H
9930 F0 16 BEQ $9948 ; go to $9948
9932 C9 A0 CMP #$A0 ; if space
9934 90 F1 BCC $9927 ; go back to $9927
;; handle everything else
9936 A6 EA LDX $EA ; X = character buffer pointer
9938 9D 00 03 STA $0300,X ; store A in character buffer
993B 20 24 08 JSR $0824 ; print character
993E E6 EA INC $EA ; increment character buffer pointer
9940 A5 EA LDA $EA ;
9942 C9 0F CMP #$0F ; if pointer < 0x0F
9944 90 E1 BCC $9927 ; go back to $9927
9946 B0 12 BCS $995A ; otherwise (>= 0x0F), go to $995A
;; handle ^H
9948 A5 EA LDA $EA ; get character buffer pointer
994A F0 DB BEQ --- ; if zero, back to $9927
994C C6 EA DEC $EA ; decrement buffer pointer
994E C6 CE DEC $CE ; decrement text column
9950 A9 A0 LDA #$A0 ; ' '
9952 20 24 08 JSR $0824 ; print character (to overwrite)
9955 C6 CE DEC $CE ; decrement text column again
9957 4C 27 99 JMP $9927 ; back to $9927
;; handle ^M or max string limit
; pad buffer from pointer to offset 0x05 with spaces ???
995A A6 EA LDX $EA ; load character buffer pointer
995C A9 A0 LDA #$A0 ; ' '
995E 9D 00 03 STA $0300,X ; store space at end of character buffer
9961 E8 INX ; X++
9962 E0 06 CPX #$06 ; if X < 0x06
9964 90 F8 BCC $995E ; loop back to $$995E
9966 A9 8D LDA #$8D ; '^M'
9968 20 24 08 JSR $0824 ; print character
996B 60 RTS ;
;; ???
996C 68 PLA ;
996D 85 FE STA $FE ;
996F 68 PLA ;
9970 85 FF STA $FF ;
9972 A0 00 LDY #$00 ;
9974 84 F0 STY $F0 ;
9976 A2 FF LDX #$FF ;
9978 E8 INX ;
9979 E6 FE INC $FE ;
997B D0 02 BNE --- ;
997D E6 FF INC $FF ;
997F B1 FE LDA ($FE),Y ;
9981 F0 0A BEQ --- ;
9983 DD 00 03 CMP $0300,X ;
9986 F0 F0 BEQ --- ;
9988 E6 F0 INC $F0 ;
998A 4C 78 99 JMP $9978 ;
998D A5 FF LDA $FF ;
998F 48 PHA ;
9990 A5 FE LDA $FE ;
9992 48 PHA ;
9993 A5 F0 LDA $F0 ;
9995 60 RTS ;
;; for all living players, set status to 'G' and set health to max
9996 A5 0F LDA $0F ; load the number of characters in to $D4
9998 85 D4 STA $D4 ; .
999A 20 2D 08 JSR $082D ; set $FE/$FF vector based on $D4
999D A0 12 LDY #$12 ;
999F B1 FE LDA ($FE),Y ; get player status (0x12 in player vector)
99A1 C9 C4 CMP #$C4 ; if == 'D'
99A3 F0 14 BEQ $99B9 ; skip to next player
99A5 A9 C7 LDA #$C7 ; set player status to 'G'
99A7 91 FE STA ($FE),Y ; .
99A9 A0 1A LDY #$1A ; set health to max
99AB B1 FE LDA ($FE),Y ; .
99AD A0 18 LDY #$18 ; .
99AF 91 FE STA ($FE),Y ; .
99B1 A0 1B LDY #$1B ; .
99B3 B1 FE LDA ($FE),Y ; .
99B5 A0 19 LDY #$19 ; .
99B7 91 FE STA ($FE),Y ; .
99B9 C6 D4 DEC $D4 ; decrement to next player
99BB D0 DD BNE $999A ; if more players, loop back
99BD 60 RTS ;
;; ???
99BE C9 00 CMP #$00 ; if A == 00
99C0 F0 0B BEQ $99CD ; return
99C2 A2 00 LDX #$00 ; X = 00
99C4 F8 SED ; use BCD
99C5 E8 INX ; X++
99C6 38 SEC ; set carry
99C7 E9 01 SBC #$01 ; subtract one from A
99C9 D0 FA BNE $99C6 ; if not zero, loop back
99CB 8A TXA ; A = X
99CC D8 CLD ;
99CD 60 RTS ;
;;
99CE 60 RTS ; global return
99CF 02 FF