aliases for Kernal jump table entries
This commit is contained in:
1 parent
ee6e7bc9d5
commit
a846d74895
56 files changed
+120
-38
No files matched your search
@@ -168,6 +168,47 @@
|
||||
.alias ILOAD $0330
|
||||
.alias ISAVE $0331
|
||||
|
||||
;; Kernal jump table
|
||||
.alias JCINT $FF81
|
||||
.alias JIOINIT $FF84
|
||||
.alias JRAMTAS $FF87
|
||||
.alias JRESTOR $FF8A
|
||||
.alias JVECTOR $FF8D
|
||||
.alias JSETMSG $FF90
|
||||
.alias JSECOND $FF93
|
||||
.alias JTKSA $FF96
|
||||
.alias JMEMTOP $FF99
|
||||
.alias JMEMBOT $FF9C
|
||||
.alias JSCNKEY $FF9F
|
||||
.alias JSETTMO $FFA2
|
||||
.alias JACPTR $FFA5
|
||||
.alias JCIOUT $FFA8
|
||||
.alias JUNTLK $FFAB
|
||||
.alias JUNLSN $FFAE
|
||||
.alias JLISTEN $FFB1
|
||||
.alias JTALK $FFB4
|
||||
.alias JREADST $FFB7
|
||||
.alias JSETFLS $FFBA
|
||||
.alias JSETNAM $FFBD
|
||||
.alias JOPEN $FFC0
|
||||
.alias JCLOSE $FFC3
|
||||
.alias JCHKIN $FFC6
|
||||
.alias JCHKOUT $FFC9
|
||||
.alias JCLRCHN $FFCC
|
||||
.alias JCHRIN $FFCF
|
||||
.alias JCHROUT $FFD2
|
||||
.alias JLOAD $FFD5
|
||||
.alias JSAVE $FFD8
|
||||
.alias JSETTIM $FFDB
|
||||
.alias JRDTIM $FFDE
|
||||
.alias JSTOP $FFE1
|
||||
.alias JGETIN $FFE4
|
||||
.alias JCLALL $FFE7
|
||||
.alias JUDTIM $FFEA
|
||||
.alias JSCREEN $FFED
|
||||
.alias JPLOT $FFF0
|
||||
.alias JIOBASE $FFF3
|
||||
|
||||
;; BASIC uses some extra bytes for memory access under ROMs located at $2A7 onwards
|
||||
;; IRQs are disabled when doing such accesses, and a default NMI handler only increments
|
||||
;; a counter, so that if an NMI occurs, it doesn't crash the machine, but can be captured.
|
||||
|
||||
@@ -20,7 +20,7 @@ print_string_loop:
|
||||
lda (temp_string_ptr),y
|
||||
beq print_string_end
|
||||
|
||||
jsr $FFD2 ; KERNAL CHROUT
|
||||
jsr JCHROUT
|
||||
|
||||
txa
|
||||
tay
|
||||
|
||||
@@ -64,7 +64,7 @@ startup_banner:
|
||||
jsr print_integer
|
||||
|
||||
lda #$20
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Print the rest of the start up message
|
||||
ldx #34
|
||||
|
||||
@@ -7,9 +7,9 @@ basic_do_error:
|
||||
|
||||
;; Print ? at start
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
lda #$3f
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Print main part of error message
|
||||
pla
|
||||
@@ -18,7 +18,7 @@ basic_do_error:
|
||||
|
||||
;; Print ERROR at end
|
||||
lda #$20
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
ldx #33
|
||||
jsr print_packed_message
|
||||
|
||||
@@ -27,9 +27,9 @@ basic_do_error:
|
||||
;; XXX print line number if not in direct mode
|
||||
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Reset stack, and go back to main loop
|
||||
ldx #$fe
|
||||
|
||||
@@ -52,7 +52,7 @@ rsl_l1: lda $0200,x
|
||||
*
|
||||
;; Do printing of the new line
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Ignore empty lines
|
||||
lda tokenise_work1
|
||||
|
||||
@@ -17,7 +17,7 @@ basic_do_break:
|
||||
|
||||
*
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
cmd_end:
|
||||
jmp basic_main_loop
|
||||
|
||||
@@ -36,7 +36,7 @@ list_more_lines:
|
||||
pla
|
||||
jsr print_integer
|
||||
lda #$20
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Iterate through printing out the line
|
||||
;; contents
|
||||
@@ -105,17 +105,17 @@ list_not_rem:
|
||||
bne list_print_loop
|
||||
|
||||
list_is_literal:
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
iny
|
||||
bne list_print_loop
|
||||
|
||||
list_end_of_line:
|
||||
;; Clear reverse flag
|
||||
lda #$92
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
;; Print end of line
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
;; Now link to the next line
|
||||
jsr basic_find_next_line
|
||||
|
||||
@@ -18,7 +18,7 @@ cmd_load:
|
||||
beq +
|
||||
lda #$00 ; direct mode - don't display anything
|
||||
*
|
||||
jsr $FF90 ; SETMSG
|
||||
jsr JSETMSG
|
||||
|
||||
;; XXX temporary, to set valid device number
|
||||
lda #$08
|
||||
@@ -69,7 +69,7 @@ got_filename:
|
||||
ldx #<$0801 ; LOAD address = $0801
|
||||
ldy #>$0801
|
||||
|
||||
jsr $ffd5
|
||||
jsr JLOAD
|
||||
bcc +
|
||||
|
||||
;; A = KERNAL error code, which also almost match
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ basic_do_new:
|
||||
;; (same story), expression value cache?
|
||||
|
||||
sec ; Read, not write value
|
||||
jsr $ff99 ; KERNAL MEMTOP routine
|
||||
jsr JMEMTOP
|
||||
cpx #$80
|
||||
beq +
|
||||
lda #>$f7ff
|
||||
|
||||
@@ -58,7 +58,7 @@ hi_loop:
|
||||
pha
|
||||
ldx #4
|
||||
clc
|
||||
hi_add_loop:
|
||||
hi_add_loop:
|
||||
lda $0100,x
|
||||
adc number_table_hi,y
|
||||
sta $0100,x
|
||||
@@ -115,7 +115,7 @@ found_start_of_number:
|
||||
;; Print digits
|
||||
* lda $0100,y
|
||||
ora #$30
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
iny
|
||||
cpy #5
|
||||
bne -
|
||||
|
||||
@@ -38,7 +38,7 @@ found_message_in_token_stream:
|
||||
beq +
|
||||
jsr print_packed_word
|
||||
lda #$20
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
pla
|
||||
tay
|
||||
iny
|
||||
@@ -47,7 +47,7 @@ found_message_in_token_stream:
|
||||
pla
|
||||
;; Rub out space at the end
|
||||
lda #$14
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
rts
|
||||
|
||||
print_packed_word:
|
||||
@@ -138,13 +138,13 @@ next_packed_word_char:
|
||||
lsr
|
||||
tax
|
||||
|
||||
;; Save Y so it doesn't get clobbered by $FFD2
|
||||
;; Save Y so it doesn't get clobbered by CHROUT
|
||||
tya
|
||||
pha
|
||||
|
||||
;; X=1-14 = first 14 chars, so subtract one
|
||||
lda packed_message_chars-1,x
|
||||
jsr $FFD2
|
||||
jsr JCHROUT
|
||||
|
||||
;; See if there is a char in the low nybl to print
|
||||
pla
|
||||
@@ -171,7 +171,7 @@ has_nybl:
|
||||
|
||||
;; X=1-14 = first 14 chars, so subtract one
|
||||
lda packed_message_chars-1,x
|
||||
jsr $FFD2
|
||||
jsr JCHROUT
|
||||
*
|
||||
pla
|
||||
tay
|
||||
@@ -207,7 +207,7 @@ unpack_literal_char:
|
||||
tya
|
||||
pha
|
||||
lda (temp_string_ptr),y
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
pla
|
||||
tay
|
||||
rts
|
||||
|
||||
+3
-3
@@ -112,7 +112,7 @@ not_hexword:
|
||||
|
||||
not_pointer:
|
||||
;; Print character
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
printf_nextchar:
|
||||
jsr printf_advance
|
||||
@@ -148,11 +148,11 @@ printf_printhexbyte:
|
||||
cmp #$3A
|
||||
bcc +
|
||||
adc #6
|
||||
* jsr $ffd2
|
||||
* jsr JCHROUT
|
||||
pla
|
||||
and #$0f
|
||||
ora #$30
|
||||
cmp #$3A
|
||||
bcc +
|
||||
adc #6
|
||||
* jmp $ffd2
|
||||
* jmp JCHROUT
|
||||
@@ -17,7 +17,7 @@ wedge_dos:
|
||||
;; Set remaining file parameters; channel 15 is a typical one for commands
|
||||
lda #$0F
|
||||
ldy #$0F
|
||||
jsr $FFBA ; SETLFS
|
||||
jsr JSETFLS
|
||||
|
||||
;; Now we have to check what the user wants us to do
|
||||
|
||||
|
||||
Reference in new issue
Block a user