Y41FE3B123A2085D6这串...

Commodore 64 ROM Disassembly
COMMODORE 64 ROM DISASSEMBLY
There are two sections,
Warm Start
.BY $43,$42,$4D,$42,$41,$53,$49,$43
.WD $ next
.WD $ data
.WD $ input#
.WD $ input
.WD $ read
.WD $ goto
.WD $ restore
.WD $ gosub
.WD $ return
.WD $ stop
.WD $ wait
.WD $ load
.WD $ save
.WD $ verify
.WD $ poke
.WD $ print#
.WD $ print
.WD $ cont
.WD $ list
.WD $ open
.WD $ close
.WD $0310 usr
.WD $ peek
.WD $ str$
.WD $ chr$
.WD $ left$
.WD $ right$
.WD $ mid$
.WD $ plus
.WD $ minus
.WD $ multiply
.WD $ divide
.WD $ power
.WD $ negative
.WD $ greater / equal / less
.BY $45,$4E,$C4 end
.BY $46,$4F,$D2 for
.BY $4E,$45,$58,$D4 next
.BY $44,$41,$54,$C1 data
.BY $49,$4E,$50,$55,$54,$A3 input#
.BY $49,$4E,$50,$55,$D4 input
.BY $44,$49,$CD dim
.BY $52,$45,$41,$C4 read
.BY $4C,$45,$D4 let
.BY $47,$4F,$54,$CF goto
.BY $52,$55,$CE run
.BY $49,$C6 if
.BY $52,$45,$53,$54,$4F,$52,$C5 restore
.BY $47,$4F,$53,$55,$C2 gosub
.BY $52,$45,$54,$55,$52,$CE return
.BY $52,$45,$CD rem
.BY $53,$54,$4F,$D0 stop
.BY $4F,$CE on
.BY $57,$41,$49,$D4 wait
.BY $4C,$4F,$41,$C4 load
.BY $53,$41,$56,$C5 save
.BY $56,$45,$52,$49,$46,$D9 verify
.BY $44,$45,$C6 def
.BY $50,$4F,$4B,$C5 poke
.BY $50,$52,$49,$4E,$54,$A3 print#
.BY $50,$52,$49,$4E,$D4 print
.BY $43,$4F,$4E,$D4 cont
.BY $4C,$49,$53,$D4 list
.BY $43,$4C,$D2 clr
.BY $43,$4D,$C4 cmd
.BY $53,$59,$D3 sys
.BY $4F,$50,$45,$CE open
.BY $43,$4C,$4F,$53,$C5 close
.BY $47,$45,$D4 get
.BY $4E,$45,$D7 new
.BY $54,$41,$42,$A8 tab(
.BY $54,$CF to
.BY $46,$CE fn
.BY $53,$50,$43,$A8 spc(
.BY $54,$48,$45,$CE then
.BY $4E,$4F,$D4 not
.BY $53,$54,$45,$D0 step
.BY $AB plus
.BY $AD minus
.BY $AA multiply
.BY $AF divide
.BY $DE power
.BY $41,$4E,$C4 and
.BY $4F,$D2 on
.BY $BE greater
.BY $BD equal
.BY $BC less
.BY $53,$47,$CE sgn
.BY $49,$4E,$D4 int
.BY $41,$42,$D3 abs
.BY $55,$53,$D2 usr
.BY $46,$52,$C5 fre
.BY $50,$4F,$D3 pos
.BY $53,$51,$D2 sqr
.BY $52,$4E,$C4 rnd
.BY $4C,$4F,$C7 log
.BY $45,$58,$D0 exp
.BY $43,$4F,$D3 cos
.BY $53,$49,$CE sin
.BY $54,$41,$CE tan
.BY $41,$54,$CE atn
.BY $50,$45,$45,$CB peek
.BY $4C,$45,$CE len
.BY $53,$54,$52,$A4 str$
.BY $56,$41,$CC val
.BY $41,$53,$C3 asc
.BY $43,$48,$52,$A4 chr$
.BY $4C,$45,$46,$54,$A4 left$
.BY $52,$49,$47,$48,$54,$A4 right$
.BY $4D,$49,$44,$A4 mid$
.BY $47,$CF go
; table of errors messages
; each ended with a +$80
.BY $54,$4F,$4F
.BY $20,$4D,$41,$4E,$59
.BY $20,$46,$49,$4C,$45,$D3
.BY $46,$49,$4C,$45
.BY $20,$4F,$50,$45,$CE
.BY $46,$49,$4C,$45
.BY $20,$4E,$4F,$54
.BY $20,$4F,$50,$45,$CE
.BY $46,$49,$4C,$45
.BY $20,$4E,$4F,$54
.BY $20,$46,$4F,$55,$4E,$C4
.BY $44,$45,$56,$49,$43,$45
.BY $20,$4E,$4F,$54
.BY $20,$50,$52,$45,$53,$45,$4E,$D4
; not input file
.BY $4E,$4F,$54
.BY $20,$49,$4E,$50,$55,$54
.BY $20,$46,$49,$4C,$C5
.BY $4E,$4F,$54
.BY $20,$4F,$55,$54,$50,$55,$54
.BY $20,$46,$49,$4C,$C5
.BY $4D,$49,$53,$53,$49,$4E,$47
.BY $20,$46,$49,$4C,$45
.BY $20,$4E,$41,$4D,$C5
.BY $49,$4C,$4C,$45,$47,$41,$4C
.BY $20,$44,$45,$56,$49,$43,$45
.BY $20,$4E,$55,$4D,$42,$45,$D2
.BY $4E,$45,$58,$54
.BY $20,$57,$49,$54,$48,$4F,$55,$54
.BY $20,$46,$4F,$D2
.BY $53,$59,$4E,$54,$41,$D8
.BY $52,$45,$54,$55,$52,$4E
.BY $20,$57,$49,$54,$48,$4F,$55,$54
.BY $20,$47,$4F,$53,$55,$C2
.BY $4F,$55,$54
.BY $20,$4F,$46
.BY $20,$44,$41,$54,$C1
.BY $49,$4C,$4C,$45,$47,$41,$4C
.BY $20,$51,$55,$41,$4E,$54,$49,$54,$D9
.BY $4F,$56,$45,$52,$46,$4C,$4F,$D7
.BY $4F,$55,$54
.BY $20,$4F,$46
.BY $20,$4D,$45,$4D,$4F,$52,$D9
.BY $55,$4E,$44,$45,$46,$27,$44
.BY $20,$53,$54,$41,$54,$45,$4D,$45,$4E,$D4
.BY $42,$41,$44
.BY $20,$53,$55,$42,$53,$43,$52,$49,$50,$D4
.BY $52,$45,$44,$49,$4D,$27,$44
.BY $20,$41,$52,$52,$41,$D9
.BY $44,$49,$56,$49,$53,$49,$4F,$4E
.BY $20,$42,$59
.BY $20,$5A,$45,$52,$CF
.BY $49,$4C,$4C,$45,$47,$41,$4C
.BY $20,$44,$49,$52,$45,$43,$D4
.BY $54,$59,$50,$45
.BY $20,$4D,$49,$53,$4D,$41,$54,$43,$C8
.BY $53,$54,$52,$49,$4E,$47
.BY $20,$54,$4F,$4F
.BY $20,$4C,$4F,$4E,$C7
.BY $46,$49,$4C,$45
.BY $20,$44,$41,$54,$C1
.BY $46,$4F,$52,$4D,$55,$4C,$41
.BY $20,$54,$4F,$4F
.BY $20,$43,$4F,$4D,$50,$4C,$45,$D8
.BY $43,$41,$4E,$27,$54
.BY $20,$43,$4F,$4E,$54,$49,$4E,$55,$C5
.BY $55,$4E,$44,$45,$46,$27,$44
.BY $20,$46,$55,$4E,$43,$54,$49,$4F,$CE
.BY $56,$45,$52,$49,$46,$D9
.BY $4C,$4F,$41,$C4
.WD $ 01 too many files
.WD $ 02 file open
.WD $ 03 file not open
.WD $ 04 file not found
.WD $ 05 device not present
.WD $ 06 not input file
.WD $ 07 not output file
.WD $ 08 missing file name
.WD $ 09 illegal device number
.WD $ 0A next without for
.WD $ 0B syntax
.WD $ 0C return without gosub
.WD $ 0D out of data
.WD $ 0E illegal quantity
.WD $ 0F overflow
.WD $ 10 out of memory
.WD $ 11 undef'd statment
.WD $ 12 bad subscript
.WD $ 13 redim'd array
.WD $ 14 devision by zero
.WD $ 15 illegal direct
.WD $ 16 type mismatch
.WD $ 17 string too long
.WD $ 18 file data
.WD $ 19 formula too complex
.WD $ 1A can't continue
.WD $ 1B undef'd function
.WD $ 1C verify
.WD $ 1D load
.WD $ 1E break
; other messages
.BY $0D,$4F,$4B,$0D
.BY $20,$20,$45,$52,$52,$4F,$52
.BY $20,$49,$4E,$20
.BY $0D,$0A,$52,$45,$41,$44,$59,$2E,$0D,$0A
.BY $0D,$0A
LDA $0101,X
CMP #$81 for block code
LDA $0102,X
LDA $0103,X
CMP $0103,X
CMP $0102,X
LDA ($5A),Y
STA ($58),Y
LDA ($5A),Y
STA ($58),Y
LDX #$10 error number
JMP ($0300) normally
LDA ($22),Y
LDA #$69 low
LDY #$A3 high
LDY #$A3 low
LDA ($5F),Y
SBC ($5F),Y
LDA ($22),Y
STA ($24),Y
LDA $01FC,Y
STA ($5F),Y
LDA ($22),Y
LDA ($22),Y
STA ($22),Y
STA ($22),Y
STA $0200,X
LDX #$17 error number
JMP $ goto end of line
JMP ($0304) normally
LDA $0200,X
CMP #$FF PI
CMP #$20 space
CMP #$22 quote mark
CMP #$3F question mark
LDA #$99 PRINT code
CMP #$30 0
LDA $0200,X
STA $01FB,Y
LDA $01FB,Y
SBC #$3A colon
CMP #$49 DATA code
SBC #$55 REM code
LDA $0200,X
STA $01FB,Y
LDA $A09D,Y
LDA $0200,X
STA $01FD,Y
LDA ($5F),Y
CMP ($5F),Y
CMP ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
STA ($2B),Y
STA ($2B),Y
LDA ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
JMP ($0306) normally
LDA #$8B low
LDY #$A7 high
LDY #$B9 high
LDA #$81 FOR block code
LDA ($7A),Y
LDA ($7A),Y
LDA ($7A),Y
LDA ($7A),Y
LDA $A00D,Y
CMP #$3A colon
CMP #$4B GO code
LDA #$A4 TO code
JMP $ do GOTO
test stop key
LDY #$A3 high
LDX #$1A error number
JSR $ do CLR
JMP $ do GOTO
LDX #$3A colon
LDA ($7A),Y
CMP #$22 quote mark
JMP $ do GOTO
CMP #$8D GOSUB code
CMP #$89 GOTO code
CMP #$2C comma
ASL times 2
ASL times 2
ADC $14 add original
ASL $14 times 2
ROL $15 = times 10 overall
LDA #$B2 equals code
STA ($49),Y
STA ($49),Y
CMP #$06 length 6
LDA ($22),Y
LDA ($64),Y
LDA ($64),Y
LDA ($64),Y
LDA #$61 low
LDY #$00 high 0061
LDA ($50),Y
STA ($49),Y
LDA ($50),Y
STA ($49),Y
LDA ($50),Y
STA ($49),Y
LDA #$2C comma
JMP $ do PRINT
CMP #$A3 TAB( code
CMP #$A6 SPC( code
CMP #$2C comma
CMP #$3B semi-colon
STA $0200,X
CMP #$29 )
LDA ($22),Y
LDA #$20 space
LDA #$1D csr right
LDA #$0C low
LDY #$AD high
CMP #$23 #
LDA #$2C comma
LDA #$40 GET code
LDA #$2C comma
CMP #$22 quote mark
LDA #$3B semi-colon
LDA #$2C comma
JMP $ do DATA
LDA #$98 READ code
CMP #$22 quote mark
LDA #$3A colon
LDA #$2C comma
CMP #$2C comma
LDX #$0D error number
LDA ($7A),Y
LDA ($7A),Y
LDA ($7A),Y
CPX #$83 DATA code
LDA ($43),Y
LDA #$FC low
LDY #$AC high
; messages used dring READ
.BY $3F,$45,$58,$54,$52,$41
.BY $20,$49,$47,$4E,$4F,$52,$45,$44
.BY $0D,$00
.BY $3F,$52,$45,$44,$4F
.BY $20,$46,$52,$4F,$4D
.BY $20,$53,$54,$41,$52,$54
.BY $0D,$00
LDX #$0A error number
LDA $0109,X
SBC $0109,X
LDA $010F,X
LDA $0110,X
LDA $0112,X
LDA $0111,X
CMP #$2C comma
SBC #$B1 code for greater than
PLA pull return address
PLA and store in $22/$23
JMP ($0022) return to caller
JMP ($030A) normally
CMP #$FF PI
LDA #$A8 low
LDY #$AE high
.BY $82,$49,$0F,$DA,$A1
CMP #$2E decimal point
CMP #$AB plus code
CMP #$AA times code
CMP #$22 quote mark
CMP #$A8 NOT code
CMP #$B4 SGN code or higher
LDA #$29 )
CMP ($7A),Y
CPX #$54 T
CPY #$C9 I$
LDA ($64),Y
LDA ($64),Y
CPX #$54 T
CPY #$49 I
CPX #$53 S
CPY #$54 T
LDA $9FEB,Y
LDA ($6C),Y
CMP ($62),Y
CMP #$24 $
CMP #$25 %
SBC #$28 (
CMP ($5F),Y
CMP ($5F),Y
CMP #$41 A
SBC #$5B Z
CMP #$54 T
CPY #$C9 I$
CPY #$49 I
CMP #$53 S
CPY #$54 T
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
.BY $90,$80,$00,$00,$00
LDA #$A5 low
LDY #$B1 high
LDA $0102,X
LDA $0101,X
STA $0102,X
STA $0101,X
CMP #$2C comma
LDA ($5F),Y
CMP ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
LDX #$13 error number
CMP ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($5F),Y
STA ($58),Y
STA ($5F),Y
STA ($5F),Y
LDA ($5F),Y
CMP ($5F),Y
CMP ($5F),Y
LDA ($5F),Y
LDA ($5F),Y
LDX #$15 error number
LDX #$1B error number
LDA ($4E),Y
LDA ($4E),Y
LDA ($47),Y
LDA ($4E),Y
LDA ($4E),Y
STA ($4E),Y
STA ($4E),Y
STA ($4E),Y
STA ($4E),Y
STA ($4E),Y
LDX #$22 quote mark
LDA ($6F),Y
CMP #$22 quote mark
LDA #$19 low
LDX #$00 high 0019
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($4E),Y
STA ($4E),Y
STA ($4E),Y
LDA ($6F),Y
ADC ($64),Y
LDA ($6F),Y
LDA ($6F),Y
LDA ($6F),Y
LDA ($22),Y
STA ($35),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
STA ($62),Y
CMP ($50),Y
LDA ($50),Y
SBC ($50),Y
LDA #$FF default 3 parameter
CMP #$29 )
SBC ($50),Y
LDA ($22),Y
LDA ($24),Y
STA ($24),Y
STA ($24),Y
LDA ($14),Y
STA ($14),Y
LDA ($14),Y
LDA #$11 low
LDY #$BF high
LDA $0004,Y
LDA $0003,Y
LDA $0002,Y
LDA $0001,Y
.BY $81,$00,$00,$00,$00
.BY $03 degree 4
.BY $7F,$5E,$56,$CB,$79
.BY $80,$13,$9B,$0B,$64
.BY $80,$76,$38,$93,$16
.BY $82,$38,$AA,$3B,$20
.BY $80,$35,$04,$F3,$34
.BY $81,$35,$04,$F3,$34
.BY $80,$80,$00,$00,$00
.BY $80,$31,$72,$17,$F8
LDA #$D6 low
LDY #$B9 high
LDA #$DB low
LDY #$B9 high
LDA #$BC low
LDY #$B9 high
LDA #$C1 low
LDY #$B9 high
LDA #$E0 low
LDY #$B9 high
LDA #$E5 low
LDY #$B9 high
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
.BY $84,$20,$00,$00,$00
LDA #$F9 low
LDY #$BA high
LDX #$14 error number
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDX #$5C low
LDX #$57 low
LDY #$00 high 0057
STA ($22),Y
STA ($22),Y
STA ($22),Y
STA ($22),Y
STA ($22),Y
LDA ($24),Y
LDA ($24),Y
LDA ($24),Y
LDA ($24),Y
LDA ($24),Y
LDA ($24),Y
CMP #$2D minus
CMP #$2B plus
CMP #$2E decimal point
CMP #$45 E
CMP #$AB minus code
CMP #$2D minus
CMP #$AA plus code
CMP #$2B plus
SBC #$30 0
ADC ($7A),Y
SBC #$30 0
.BY $9B,$3E,$BC,$1F,$FD
LDA #$71 low
LDY #$A3 high
LDA #$2D minus
STA $00FF,Y
LDA #$30 0
LDA #$BD low
LDY #$BD high
LDA #$B8 low
LDY #$BD high
LDA #$B3 low
LDY #$BD high
LDA #$2E decimal point
STA $00FF,Y
LDA #$30 0
STA $00FF,Y
STA $00FF,Y
STA $00FF,Y
LDA $00FF,Y
CMP #$30 0
CMP #$2E decimal point
LDA #$2B plus
LDA #$2D minus
STA $0101,Y
STA $0100,Y
STA $0103,Y
STA $0102,Y
STA $0104,Y
STA $0100,Y
LDA #$00 low
LDY #$01 high 0100
.BY $80,$00,$00,$00,$00
.BY $FA,$0A,$1F,$00
.BY $00,$98,$96,$80
.BY $FF,$F0,$BD,$C0
.BY $00,$01,$86,$A0
.BY $FF,$FF,$D8,$F0
.BY $00,$00,$03,$E8
.BY $FF,$FF,$FF,$9C
.BY $00,$00,$00,$0A
.BY $FF,$FF,$FF,$FF
.BY $FF,$DF,$0A,$80
.BY $00,$03,$4B,$C0
.BY $FF,$FF,$73,$60
.BY $00,$00,$0E,$10
.BY $FF,$FF,$FD,$A8
.BY $00,$00,$00,$3C
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA,$AA,$AA
LDX #$4E low
LDY #$00 high 004E
LDA #$4E low
LDY #$00 high 004E
LDA #$4E low
LDY #$00 high 004E
.BY $81,$38,$AA,$3B,$29
.BY $07 degree 8
.BY $71,$34,$58,$3E,$56
.BY $74,$16,$7E,$B3,$1B
.BY $77,$2F,$EE,$E3,$85
.BY $7A,$1D,$84,$1C,$2A
.BY $7C,$63,$59,$58,$0A
.BY $7E,$75,$FD,$E7,$C6
.BY $80,$31,$72,$18,$10
.BY $81,$00,$00,$00,$00
Version 1.0 (June 1994)
LDA ($71),Y
.BY $98,$35,$44,$7A,$00
.BY $68,$28,$B1,$46,$00
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA ($22),Y
LDA #$E1 low
LDA #$46 high
JMP ($0014)
LDA #$E0 low
LDY #$E2 high
LDA #$E5 low
LDY #$E2 high
LDA #$EA low
LDY #$E2 high
LDA #$EA low
LDY #$E2 high
LDX #$4E low
LDY #$00 high 004E
LDA #$57 low
LDY #$00 high 005F
LDA #$4E low
LDY #$00 high 004E
; 0.5 * PI
.BY $81,$49,$0F,$DA,$A2
.BY $83,$49,$0F,$DA,$A2
.BY $7F,$00,$00,$00,$00
.BY $05 degree 6
.BY $84,$E6,$1A,$2D,$1B
.BY $86,$28,$07,$FB,$F8
.BY $87,$99,$68,$89,$01
.BY $87,$23,$35,$DF,$E1
.BY $86,$A5,$5D,$E7,$28
.BY $83,$49,$0F,$DA,$A2
LDA #$BC low
LDY #$B9 high
LDA #$3E low
LDY #$E3 high
LDA #$E0 low
LDY #$E2 high
.BY $0B degree 12
.BY $76,$B3,$83,$BD,$D3
.BY $79,$1E,$F4,$A6,$F5
.BY $7B,$83,$FC,$B0,$10
.BY $7C,$0C,$1F,$67,$CA
.BY $7C,$DE,$53,$CB,$C1
.BY $7D,$14,$64,$70,$4C
.BY $7D,$B7,$EA,$51,$7A
.BY $7D,$63,$30,$88,$7E
.BY $7E,$92,$44,$99,$3A
.BY $7E,$4C,$CC,$91,$C7
.BY $7F,$AA,$AA,$AA,$13
.BY $81,$00,$00,$00,$00
JMP ($0300) normally
CMP #$3A colon
CMP #$20 space
SBC #$30 0
.BY $80,$4F,$C7,$52,$58
LDA #$48 low
LDY #$B2 high B248
LDA #$91 lowh B391
LDY #$B3 high B391
LDA #$AA low
LDY #$B1 high B1AA
STA ($2B),Y
LDA #$73 low
LDY #$E4 high
LDA #$60 low
LDY #$E4 high
STA $0300,X
.BY $20,$42,$41,$53,$49,$43
.BY $20,$42,$59,$54,$45,$53
.BY $20,$46,$52,$45,$45
.BY $93,$0D,$20,$20,$20
.BY $20,$2A,$2A,$2A,$2A
.BY $20,$43,$4F,$4D,$4D,$4F,$44,$4F,$52,$45
.BY $20,$36,$34
.BY $20,$42,$41,$53,$49,$43
.BY $20,$56,$32
.BY $20,$2A,$2A,$2A,$2A
.BY $0D,$0D
.BY $20,$36,$34,$4B
.BY $20,$52,$41,$4D
.BY $20,$53,$59,$53,$54,$45,$4D
.BY $20,$20
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA,$AA,$AA,$AA,$AA
.BY $AA,$AA,$AA,$AA
STA ($F3),Y
.WD $2619 50
.WD $1944 75
.WD $111A 110
.WD $0DE8 134.5
.WD $0C70 150
.WD $02D1 600
.WD $00AE 1800
LDX #$00 low
LDY #$DC high DC00
LDX #$28 40 columns
LDY #$19 25 rows
LDA #$48 low
LDA #$EB high EB48
LDA $ECB8,X
STA $CFFF,X
LDA $0278,X
STA $0277,X
; wait for return for keyboard
LDA $ECE6,X
STA $0276,X
LDA ($D1),Y
LDA ($D1),Y
CMP #$DE screen PI code
LDA #$FF petscii PI code
CMP #$22 quote mark
LDA #$22 quote mark
CMP #$0D return code
CMP #$14 delete code
LDA ($D1),Y
STA ($D1),Y
LDA ($F3),Y
STA ($F3),Y
STA ($D1),Y
STA ($F3),Y
reverse code
CMP #$13 home code
CMP #$1D csr right
CMP #$11 csr down
AND #$7F remove shift bit
CMP #$7F code for PI
LDA #$5E screen PI
CMP #$0D shift return
CMP #$14 insert
LDA ($D1),Y
LDA ($D1),Y
STA ($D1),Y
LDA ($F3),Y
STA ($F3),Y
STA ($D1),Y
STA ($F3),Y
CMP #$11 csr up
CMP #$12 reverse off
CMP #$1D csr left
CMP #$13 clr code
.BY $90,$05,$1C,$9F,$9C,$1E,$1F,$9E
.BY $81,$95,$96,$97,$98,$99,$9A,$9B
LDA $ECF1,X
LDA $ECEF,X
LDA ($AC),Y
STA ($D1),Y
LDA ($AE),Y
STA ($F3),Y
STA ($D1),Y
STA ($D1),Y
STA ($F3),Y
JSR $ do clock
LDA $CC flash cursor
LDA ($D1),Y
LDA ($F3),Y
JSR $ display cursor
LDA $01 checl cassette sense
JSR $ scan keyboard
LDA ($F5),Y
JMP ($028F)
LDA ($F5),Y
CMP #$14 delete
CMP #$20 space
CMP #$1D csr right/left
CMP #$11 csr up/down
STA $0277,X
LDA $EB7A,X
.WD $ standard
.WD $ shift
.WD $ commodore key
.WD $ control
.BY $14,$0D,$1D,$88,$85,$86,$87,$11
.BY $33,$57,$41,$34,$5A,$53,$45,$01
.BY $35,$52,$44,$36,$43,$46,$54,$58
.BY $37,$59,$47,$38,$42,$48,$55,$56
.BY $39,$49,$4A,$30,$4D,$4B,$4F,$4E
.BY $2B,$50,$4C,$2D,$2E,$3A,$40,$2C
.BY $5C,$2A,$3B,$13,$01,$3D,$5E,$2F
.BY $31,$5F,$04,$32,$20,$02,$51,$03
.BY $94,$8D,$9D,$8C,$89,$8A,$8B,$91
.BY $23,$D7,$C1,$24,$DA,$D3,$C5,$01
.BY $25,$D2,$C4,$26,$C3,$C6,$D4,$D8
.BY $27,$D9,$C7,$28,$C2,$C8,$D5,$D6
.BY $29,$C9,$CA,$30,$CD,$CB,$CF,$CE
.BY $DB,$D0,$CC,$DD,$3E,$5B,$BA,$3C
.BY $A9,$C0,$5D,$93,$01,$3D,$DE,$3F
.BY $21,$5F,$04,$22,$A0,$02,$D1,$83
.BY $94,$8D,$9D,$8C,$89,$8A,$8B,$91
.BY $96,$B3,$B0,$97,$AD,$AE,$B1,$01
.BY $98,$B2,$AC,$99,$BC,$BB,$A3,$BD
.BY $9A,$B7,$A5,$9B,$BF,$B4,$B8,$BE
.BY $29,$A2,$B5,$30,$A7,$A1,$B9,$AA
.BY $A6,$AF,$B6,$DC,$3E,$5B,$A4,$3C
.BY $A8,$DF,$5D,$93,$01,$3D,$DE,$3F
.BY $81,$5F,$04,$95,$A0,$02,$AB,$83
.BY $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
.BY $1C,$17,$01,$9F,$1A,$13,$05,$FF
.BY $9C,$12,$04,$1E,$03,$06,$14,$18
.BY $1F,$19,$07,$9E,$02,$08,$15,$16
.BY $12,$09,$0A,$92,$0D,$0B,$0F,$0E
.BY $FF,$10,$0C,$FF,$FF,$1B,$00,$FF
.BY $1C,$FF,$1D,$FF,$FF,$1F,$1E,$FF
.BY $90,$06,$FF,$05,$FF,$FF,$11,$FF
.BY $00,$00 sprite 1 x,y
.BY $00,$00 sprite 2 x,y
.BY $00,$00 sprite 3 x,y
.BY $00,$00 sprite 4 x,y
.BY $00,$00 sprite 5 x,y
.BY $00,$00 sprite 6 x,y
.BY $00,$00 sprite 7 x,y
.BY $00,$00 sprite 8 x,y
.BY $00 sprite Y expand
.BY $00 sprite multi-colour
.BY $00 sprite X expand
.BY $0E boarder colour
.BY $06 background colour
.BY $00 sprite colour
.BY $01 sprite colour
.BY $02 sprite colour
.BY $03 sprite colour
.BY $04 sprite colour
.BY $05 sprite colour
.BY $06 sprite colour
.BY $07 sprite colour
.BY $4C,$4F,$41,$44,$0D
.BY $52,$55,$4E,$0D
.BY $00,$28,$50,$78,$A0
.BY $C8,$F0,$18,$40,$68
.BY $90,$B8,$E0,$08,$30
.BY $58,$80,$A8,$D0,$F8
.BY $20,$48,$70,$98,$C0
LDA ($F9),Y
STA ($F7),Y
STA ($F9),Y
LDA ($F7),Y
.BY $49,$2F,$4F
.BY $20,$45,$52,$52,$4F,$52
.BY $20,$A3
.BY $53,$45,$41,$52,$43,$48,$49,$4E,$47,$A0
.BY $46,$4F,$52,$A0
.BY $50,$52,$45,$53,$53
.BY $20,$50,$4C,$41,$59
.BY $20,$4F,$4E
.BY $20,$54,$41,$50,$C5
.BY $50,$52,$45,$53,$53
.BY $20,$52,$45,$43,$4F,$52,$44
.BY $20,$26
.BY $20,$50,$4C,$41,$59
.BY $20,$4F,$4E
.BY $20,$54,$41,$50,$C5
.BY $4C,$4F,$41,$44,$49,$4E,$C7
.BY $53,$41,$56,$49,$4E,$47,$A0
.BY $56,$45,$52,$49,$46,$59,$49,$4E,$C7
.BY $46,$4F,$55,$4E,$44,$A0
.BY $4F,$4B,$8D
LDA ($B2),Y
STA ($B2),Y
STA ($B2),Y
LDA $0259,Y
STA $0259,X
LDA $0263,Y
STA $0263,X
LDA $026D,Y
STA $026D,X
CMP $0259,X
LDA $0259,X
LDA $0263,X
LDA $026D,X
STA $0259,X
STA $026D,X
STA $0263,X
STA ($B2),Y
LDA ($BB),Y
LDA ($BB),Y
STA $0293,Y
LDY $FEC1,X
LDA $FEC0,X
LDY $E4EB,X
LDA $E4EA,X
JMP ($0330) normally
CMP ($AE),Y
STA ($AE),Y
LDA ($B2),Y
LDA ($B2),Y
LDA ($B2),Y
SBC ($B2),Y
LDA ($B2),Y
SBC ($B2),Y
LDA ($BB),Y
JMP ($0332) normally
LDA ($AC),Y
LDA #$01 too many files
LDA ($B2),Y
LDA ($B2),Y
STA ($B2),Y
STA ($B2),Y
STA ($B2),Y
STA ($B2),Y
STA ($B2),Y
STA ($B2),Y
LDA ($BB),Y
STA ($B2),Y
LDA ($BB),Y
CMP ($B2),Y
CMP ($AC),Y
STA $0101,X
STA $0100,X
CMP $0100,X
CMP $0101,X
CMP ($AC),Y
STA ($AC),Y
LDA ($AC),Y
LDA ($AC),Y
LDA $FD93,X
LDA $FD94,X
JMP ($8000) start cartridge
JMP ($A000) start basic
LDA $FD0F,X
CMP $8003,X
.BY $C3,$C2,$CD,$38,$30
LDX #$30 low
LDY #$FD high
LDA $0314,Y
LDA ($C3),Y
STA ($C3),Y
STA $0314,Y
.WD $ open
.WD $ close
.WD $ set input dev
.WD $ set output dev
.WD $ restore I/O
.WD $ input
.WD $ output
.WD $ test stop key
.WD $ abort I/O
.WD $ unused (BRK)
.WD $ load ram
.WD $ save ram
STA $0002,Y
STA $0200,Y
STA $0300,Y
LDA ($C1),Y
STA ($C1),Y
CMP ($C1),Y
STA ($C1),Y
CMP ($C1),Y
STA ($C1),Y
.WD $ cassette write A
.WD $ cassette write B
.WD $ standard IRQ
.WD $ cassette read
JMP ($0318) normally
JMP ($8002) cartridge warm start
JMP ($A002)
.WD $27C1 50
.WD $1A3E 75
.WD $11C5 110
.WD $0E74 134.5
.WD $0CED 150
.WD $02F0 600
.WD $00B8 1800
LDA $0104,X
JMP ($0316) normally
JMP ($0314) normally
.BY $03 kernal version number
JMP $ initalise screen and keyboard
JMP $ initalise I/O devices
JMP $ initalise memory pointers
JMP $ restore I/O vectors
JMP $ set I/O vectors from XY
control kernal messages
JMP $ read secondary address after listen
JMP $ read secondary address after talk
read/set top of memory
read/set bottom of memory
JMP $ scan keyboard
JMP $ set timout for serial bus
JMP $ input on serial bus
JMP $ output byte on serial bus
JMP $ send untalk on serial bus
JMP $ send unlisten on serial bus
JMP $ send listen on serial bus
JMP $ send talk on serial bus
read I/O status word
set file parameters
set filename parameters
) open a file
) close a file
) set input device
) set output device
) restore I/O devices to default
) input char on current device
) output char on current device
load ram from device
save ram to device
set real time clock
read real time clock
) check stop key
) get a character
) close all channels and files
increment real time clock
JMP $ read organisation of screen into XY
read/set XY cursor position
read base address of I/O devices
.BY $52,$52,$42,$59
.WD $ NMI vector
.WD $ RESET vector
.WD $ IRQ/BRK vector
Marko M鋕el

我要回帖

更多关于 留低这串锁匙 的文章

 

随机推荐