This commit is contained in:
Michael Steil 2008-10-16 06:53:45 +00:00
parent fa5b615f84
commit 453fef0e3a
13 changed files with 85 additions and 71 deletions

View File

@ -95,7 +95,7 @@ USR_FUNC:
sta FAC+5 sta FAC+5
jmp (FAC+4) jmp (FAC+4)
L29DA: L29DA:
jmp (GOSTROUT) jmp (GOAYINT)
brk brk
brk brk
brk brk

View File

@ -24,7 +24,7 @@ LOWTRX = LOWTR
Z00 := $0000 Z00 := $0000
L0001 := $000B L0001 := $000B
GOWARM := $0003 GOWARM := $0003
GOSTROUT := $0006 GOAYINT := $0006
GOGIVEAYF := $0008 GOGIVEAYF := $0008
USR := $000A USR := $000A

View File

@ -46,7 +46,7 @@ L0001 := $0001
L0002 := $0002 L0002 := $0002
GOWARM := $0003 GOWARM := $0003
Z03 := $0003 ; same Z03 := $0003 ; same
GOSTROUT := $0006 GOAYINT := $0006
GOGIVEAYF := $0008 GOGIVEAYF := $0008
Z15 := $0004 Z15 := $0004
@ -93,7 +93,7 @@ CPRMASK := $0063-82-5
Z14 := $0064-82-5 ; Ctrl+O flag Z14 := $0064-82-5 ; Ctrl+O flag
Z17 := $0006 Z17 := $0006
GOSTROUT := $0006 GOAYINT := $0006
Z18 := $0007 Z18 := $0007
GOGIVEAYF := $0008 GOGIVEAYF := $0008
Z03 := $000E;3 ; same Z03 := $000E;3 ; same

View File

@ -19,7 +19,7 @@ Z00 := $0700
L0001 := $0001 L0001 := $0001
L0002 := $0002 L0002 := $0002
GOWARM := $0003 GOWARM := $0003
GOSTROUT := $0006 GOAYINT := $0006
GOGIVEAYF := $0008 GOGIVEAYF := $0008
USR := $000A USR := $000A

View File

@ -21,7 +21,7 @@ Z00 := $0000
L0001 := $0001 L0001 := $0001
L0002 := $0002 L0002 := $0002
GOWARM := $0003 GOWARM := $0003
GOSTROUT := $0006 GOAYINT := $0006
GOGIVEAYF := $0008 GOGIVEAYF := $0008
CHARAC := $000A CHARAC := $000A

View File

@ -27,7 +27,7 @@ Z00 := $0017
L0001 := $0001 L0001 := $0001
L0002 := $0002 L0002 := $0002
GOWARM := $001A GOWARM := $001A
GOSTROUT := $001D GOAYINT := $001D
GOGIVEAYF := $001F GOGIVEAYF := $001F
CHARAC := $000A+$1A CHARAC := $000A+$1A
@ -55,7 +55,7 @@ MONCOUT := $E216
STACK_TOP := $FE STACK_TOP := $FE
SPACE_FOR_GOSUB := $3E SPACE_FOR_GOSUB := $3E
NULL_MAX := $F0 ; probably different in original version; the image I have seems to be modified; see PDF NULL_MAX := $F0
RAMSTART2 := $0400 RAMSTART2 := $0400

View File

@ -17,7 +17,7 @@ Z00 := $0000
L0001 := $0001 L0001 := $0001
L0002 := $0002 L0002 := $0002
GOWARM := $0003 GOWARM := $0003
GOSTROUT := $0006 GOAYINT := $0006
GOGIVEAYF := $0008 GOGIVEAYF := $0008
USR := $000A USR := $000A

View File

@ -36,12 +36,13 @@ define_error ERR_ZERODIV, "DIVISION BY ZERO"
define_error ERR_ILLDIR, "ILLEGAL DIRECT" define_error ERR_ILLDIR, "ILLEGAL DIRECT"
define_error ERR_BADTYPE, "TYPE MISMATCH" define_error ERR_BADTYPE, "TYPE MISMATCH"
define_error ERR_STRLONG, "STRING TOO LONG" define_error ERR_STRLONG, "STRING TOO LONG"
.ifdef CONFIG_FILE
.ifdef CBM1 .ifdef CBM1
define_error ERR_BADDATA, "BAD DATA" define_error ERR_BADDATA, "BAD DATA"
.endif .else
.ifdef CBM2
define_error ERR_BADDATA, "FILE DATA" define_error ERR_BADDATA, "FILE DATA"
.endif .endif
.endif
define_error ERR_FRMCPX, "FORMULA TOO COMPLEX" define_error ERR_FRMCPX, "FORMULA TOO COMPLEX"
define_error ERR_CANTCONT, "CAN'T CONTINUE" define_error ERR_CANTCONT, "CAN'T CONTINUE"
define_error ERR_UNDEFFN, "UNDEF'D FUNCTION" define_error ERR_UNDEFFN, "UNDEF'D FUNCTION"

6
init.s
View File

@ -43,8 +43,8 @@ COLD_START2:
sty GOWARM+2 sty GOWARM+2
lda #<AYINT lda #<AYINT
ldy #>AYINT ldy #>AYINT
sta GOSTROUT sta GOAYINT
sty GOSTROUT+1 sty GOAYINT+1
lda #<GIVAYF lda #<GIVAYF
ldy #>GIVAYF ldy #>GIVAYF
sta GOGIVEAYF sta GOGIVEAYF
@ -276,7 +276,7 @@ L4129:
sta Z18 sta Z18
L4136: L4136:
.endif .endif
.ifdef KIM .ifdef KIM /* RAM? */
lda #<QT_WANT lda #<QT_WANT
ldy #>QT_WANT ldy #>QT_WANT
jsr STROUT jsr STROUT

View File

@ -1,3 +1,7 @@
; generic stack and memory management code
; this code is identical across all versions of
; BASIC
.segment "CODE" .segment "CODE"
; ---------------------------------------------------------------------------- ; ----------------------------------------------------------------------------

View File

@ -1,5 +1,10 @@
; global messages: "error", "in", "ready", "break"
.segment "CODE" .segment "CODE"
CR=13
LF=10
QT_ERROR: QT_ERROR:
.ifdef KBD .ifdef KBD
.byte " err" .byte " err"
@ -11,45 +16,49 @@ QT_ERROR:
.byte " ERROR" .byte " ERROR"
.endif .endif
.endif .endif
.byte $00 .byte 0
.ifndef KBD .ifndef KBD
QT_IN: QT_IN:
.byte " IN " .byte " IN "
.byte $00 .byte $00
QT_OK:
.ifdef APPLE
.byte $0D,$00,$00
.byte "K"
.else
.byte $0D,$0A
.ifdef CONFIG_CBM_ALL
.byte "READY."
.else
.byte "OK"
.endif .endif
.endif
.byte $0D,$0A,$00 .ifdef KBD
.else
.byte $54,$D2 ; ??? .byte $54,$D2 ; ???
OKPRT: OKPRT:
jsr LDE42 jsr LDE42
.byte $0D,$0D .byte CR,CR,">>",CR,LF
.byte ">>" .byte 0
.byte $0D,$0A,$00
rts rts
nop nop
.else
QT_OK:
.ifdef CONFIG_CBM_ALL
.byte CR,LF,"READY.",CR,LF
.else
.ifdef APPLE
; binary patch!
.byte CR,0,0,"K",CR,LF
.else
.byte CR,LF,"OK",CR,LF
.endif .endif
.endif
.byte 0
.endif
QT_BREAK: QT_BREAK:
.ifdef KBD .ifdef KBD
.byte $0D,$0A .byte CR,LF," Brk"
.byte " Brk" .byte 0
.byte $00
.byte $54,$D0 ; ??? .byte $54,$D0 ; ???
.else .else
.byte $0D,$0A
.ifdef MICROTAN .ifdef MICROTAN
.byte " " .byte CR,LF," BREAK"
.byte 0
.else
.byte CR,LF,"BREAK"
.byte 0
.endif .endif
.byte "BREAK"
.byte $00
.endif .endif

View File

@ -12,7 +12,7 @@ MEMERR:
; ---------------------------------------------------------------------------- ; ----------------------------------------------------------------------------
ERROR: ERROR:
lsr Z14 lsr Z14
.ifdef CONFIG_CBM_ALL .ifdef CONFIG_FILE
lda Z03 ; output lda Z03 ; output
beq LC366 ; is screen beq LC366 ; is screen
jsr CLRCH ; otherwise redirect output back to screen jsr CLRCH ; otherwise redirect output back to screen
@ -950,5 +950,5 @@ L25FD:
lda TOKEN_NAME_TABLE,y lda TOKEN_NAME_TABLE,y
bmi L25CA bmi L25CA
jsr OUTDO jsr OUTDO
bne L25FD bne L25FD ; always

View File

@ -109,7 +109,7 @@ UNFNC:
keyword_addr "SGN", SGN, TOKEN_SGN keyword_addr "SGN", SGN, TOKEN_SGN
keyword_addr "INT", INT keyword_addr "INT", INT
keyword_addr "ABS", ABS keyword_addr "ABS", ABS
.ifdef KBD .ifdef CONFIG_NO_POKE
keyword_addr "VER", VER keyword_addr "VER", VER
.else .else
.ifdef KIM .ifdef KIM