More cleanup of ASM
This commit is contained in:
1 parent
25236f542d
commit
deef96a6bc
7 files changed
+42
-90
No files matched your search
+15
-20
@@ -1,27 +1,22 @@
|
||||
; extra/override ZP variables
|
||||
USR := GORESTART ; XXX
|
||||
|
||||
; constants
|
||||
SPACE_FOR_GOSUB := $3E
|
||||
STACK_TOP := $FA
|
||||
WIDTH := 80
|
||||
WIDTH2 := 30
|
||||
WIDTH := 80 ; Default terminal width
|
||||
WIDTH2 := 70 ; mac column for zoned print
|
||||
RAMSTART2 := $0400
|
||||
|
||||
BYTES_FP := 5
|
||||
BYTES_PER_ELEMENT := BYTES_FP
|
||||
BYTES_PER_VARIABLE := BYTES_FP+2
|
||||
MANTISSA_BYTES := BYTES_FP-1
|
||||
BYTES_PER_FRAME := 2*BYTES_FP+8
|
||||
FOR_STACK1 := 2*BYTES_FP+5
|
||||
FOR_STACK2 := BYTES_FP+4
|
||||
BYTES_FP := 5
|
||||
BYTES_PER_ELEMENT := BYTES_FP
|
||||
BYTES_PER_VARIABLE := BYTES_FP+2
|
||||
MANTISSA_BYTES := BYTES_FP-1
|
||||
BYTES_PER_FRAME := 2*BYTES_FP+8
|
||||
FOR_STACK1 := 2*BYTES_FP+5
|
||||
FOR_STACK2 := BYTES_FP+4
|
||||
|
||||
STACK := $0100
|
||||
STACK2 := STACK
|
||||
|
||||
|
||||
MAX_EXPON = 10
|
||||
|
||||
STACK := $0100
|
||||
STACK2 := STACK
|
||||
|
||||
INPUTBUFFERX = INPUTBUFFER & $FF00
|
||||
|
||||
CR=13
|
||||
LF=10
|
||||
CR = 13
|
||||
LF = 10
|
||||
+1
-6
@@ -46,12 +46,7 @@ LD758:
|
||||
ldx #$0A
|
||||
LD75A:
|
||||
lda MICROSOFT-1,x
|
||||
and #$3F
|
||||
sta (LINNUM),y
|
||||
iny
|
||||
bne LD766
|
||||
inc LINNUM+1
|
||||
LD766:
|
||||
jsr MONCOUT
|
||||
dex
|
||||
bne LD75A
|
||||
dec FORPNT
|
||||
|
||||
+18
-56
@@ -2,9 +2,9 @@
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
PR_WRITTEN_BY:
|
||||
lda #<QT_WRITTEN_BY
|
||||
ldy #>QT_WRITTEN_BY
|
||||
jsr STROUT
|
||||
lda #<QT_WRITTEN_BY
|
||||
ldy #>QT_WRITTEN_BY
|
||||
jsr STROUT
|
||||
|
||||
COLD_START:
|
||||
ldx #$FF
|
||||
@@ -29,12 +29,12 @@ COLD_START:
|
||||
sta GORESTART
|
||||
sta GOSTROUT
|
||||
sta JMPADRS
|
||||
sta USR
|
||||
sta GORESTART
|
||||
|
||||
lda #<IQERR
|
||||
ldy #>IQERR
|
||||
sta USR+1
|
||||
sty USR+2
|
||||
sta GORESTART+1
|
||||
sty GORESTART+2
|
||||
lda #WIDTH
|
||||
sta Z17
|
||||
lda #WIDTH2
|
||||
@@ -81,49 +81,6 @@ L4098:
|
||||
sta MEMSIZ
|
||||
lda #>$BC00
|
||||
sta MEMSIZ+1
|
||||
jmp L4106
|
||||
jsr NXIN
|
||||
stx TXTPTR
|
||||
sty TXTPTR+1
|
||||
jsr CHRGET
|
||||
cmp #$41
|
||||
bne SKIPPED
|
||||
jmp PR_WRITTEN_BY
|
||||
SKIPPED:
|
||||
tay
|
||||
bne L40EE
|
||||
lda #<RAMSTART2
|
||||
ldy #>RAMSTART2
|
||||
sta TXTTAB
|
||||
sty TXTTAB+1
|
||||
sta LINNUM
|
||||
sty LINNUM+1
|
||||
ldy #$00
|
||||
L40D7:
|
||||
inc LINNUM
|
||||
bne L40DD
|
||||
inc LINNUM+1
|
||||
L40DD:
|
||||
lda #$55 ; 01010101 / 10101010
|
||||
sta (LINNUM),y
|
||||
cmp (LINNUM),y
|
||||
bne L40FA
|
||||
asl a
|
||||
sta (LINNUM),y
|
||||
cmp (LINNUM),y
|
||||
bne L40FA; new: slower
|
||||
beq L40D7
|
||||
L40EE:
|
||||
jsr CHRGOT
|
||||
jsr LINGET
|
||||
tay
|
||||
beq L40FA
|
||||
jmp SYNERR
|
||||
L40FA:
|
||||
lda LINNUM
|
||||
ldy LINNUM+1
|
||||
sta MEMSIZ
|
||||
sty MEMSIZ+1
|
||||
sta FRETOP
|
||||
sty FRETOP+1
|
||||
L4106:
|
||||
@@ -134,6 +91,10 @@ L4106:
|
||||
stx TXTPTR
|
||||
sty TXTPTR+1
|
||||
jsr CHRGET
|
||||
cmp #'A'
|
||||
bne :+
|
||||
jmp PR_WRITTEN_BY
|
||||
:
|
||||
tay
|
||||
beq L4136
|
||||
jsr LINGET
|
||||
@@ -178,6 +139,9 @@ L4192:
|
||||
lda #<QT_BYTES_FREE
|
||||
ldy #>QT_BYTES_FREE
|
||||
jsr STROUT
|
||||
lda #<QT_BASIC
|
||||
ldy #>QT_BASIC
|
||||
jsr STROUT
|
||||
jsr SCRTCH
|
||||
lda #<STROUT
|
||||
ldy #>STROUT
|
||||
@@ -190,20 +154,18 @@ L4192:
|
||||
jmp (GORESTART+1)
|
||||
|
||||
QT_WRITTEN_BY:
|
||||
.byte CR,LF,$0C ; FORM FEED
|
||||
.byte CR,LF
|
||||
.byte "WRITTEN BY WEILAND & GATES"
|
||||
.byte CR,LF
|
||||
.byte "PORTED BY KILIAN KURT HOFMANN"
|
||||
.byte CR,LF,0
|
||||
QT_MEMORY_SIZE:
|
||||
.byte "MEMORY SIZE"
|
||||
.byte 0
|
||||
QT_TERMINAL_WIDTH:
|
||||
.byte "TERMINAL "
|
||||
.byte "WIDTH"
|
||||
.byte 0
|
||||
QT_BYTES_FREE:
|
||||
.byte " BYTES FREE"
|
||||
.byte CR,LF,CR,LF
|
||||
.byte CR,LF,0
|
||||
QT_BASIC:
|
||||
.byte CR,LF
|
||||
.byte "COPYRIGHT 1977 BY MICROSOFT CO."
|
||||
.byte CR,LF
|
||||
.byte CR,LF,CR,LF,0
|
||||
+4
-4
@@ -215,7 +215,7 @@ PARSE_INPUT_LINE:
|
||||
ldy #$04
|
||||
sty DATAFLG
|
||||
L246C:
|
||||
lda INPUTBUFFERX,x
|
||||
lda $200,x
|
||||
cmp #$20
|
||||
beq L24AC
|
||||
sta ENDCHR
|
||||
@@ -248,7 +248,7 @@ L2496:
|
||||
L2497:
|
||||
inx
|
||||
L2498:
|
||||
lda INPUTBUFFERX,x
|
||||
lda $200,x
|
||||
sec
|
||||
sbc TOKEN_NAME_TABLE,y
|
||||
beq L2496
|
||||
@@ -283,7 +283,7 @@ L24C1:
|
||||
; BY COPYING CHARS UP TO ENDCHR.
|
||||
; ----------------------------------------------------------------------------
|
||||
L24C8:
|
||||
lda INPUTBUFFERX,x
|
||||
lda $200,x
|
||||
beq L24AC
|
||||
cmp ENDCHR
|
||||
beq L24AC
|
||||
@@ -304,7 +304,7 @@ L24DB:
|
||||
bpl L24DB
|
||||
lda TOKEN_NAME_TABLE,y
|
||||
bne L2498
|
||||
lda INPUTBUFFERX,x
|
||||
lda $200,x
|
||||
bpl L24AA
|
||||
; ---END OF LINE------------------
|
||||
L24EA:
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ UNFNC:
|
||||
keyword_addr "SGN", SGN, TOKEN_SGN
|
||||
keyword_addr "INT", INT
|
||||
keyword_addr "ABS", ABS
|
||||
keyword_addr "USR", USR, TOKEN_USR
|
||||
keyword_addr "USR", GORESTART, TOKEN_USR
|
||||
keyword_addr "FRE", FRE
|
||||
keyword_addr "POS", POS
|
||||
keyword_addr "SQR", SQR
|
||||
|
||||
+2
-2
@@ -105,8 +105,8 @@ POLY_SIN:
|
||||
.byte $E7,$28,$83,$49,$0F,$DA,$A2
|
||||
; PET encoded easter egg text since CBM2
|
||||
MICROSOFT:
|
||||
.byte $A1,$54,$46,$8F,$13,$8F,$52,$43
|
||||
.byte $89,$CD
|
||||
.byte "!TFOSORCIM"
|
||||
.byte 0
|
||||
|
||||
; ----------------------------------------------------------------------------
|
||||
; "ATN" FUNCTION
|
||||
|
||||
Reference in new issue
Block a user