adjusted some addresses, added more stubs
This commit is contained in:
1 parent
b73e9fbb7d
commit
a8e80ee2b1
25 files changed
+108
-6
No files matched your search
@@ -19,7 +19,8 @@ SRCDIR_KERNAL = $(SRCDIR_COMMON) \
|
|||||||
c64/kernal/iostack \
|
c64/kernal/iostack \
|
||||||
c64/kernal/keyboard \
|
c64/kernal/keyboard \
|
||||||
c64/kernal/print \
|
c64/kernal/print \
|
||||||
c64/kernal/screen
|
c64/kernal/screen \
|
||||||
|
c64/kernal/stubs
|
||||||
|
|
||||||
SRC_TOOLS = $(wildcard src/tools/*.c,src/tools/*.cc)
|
SRC_TOOLS = $(wildcard src/tools/*.c,src/tools/*.cc)
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ Note: vectors at `$0300` are not supported yet - for now only the locations belo
|
|||||||
| `(00308)` | `$A7E4` | `GONE` | NOT DONE | some implementation exists, but not connected here |
|
| `(00308)` | `$A7E4` | `GONE` | NOT DONE | some implementation exists, but not connected here |
|
||||||
| `(0030A)` | `$AE86` | `EVAL` | NOT DONE | some implementation exists, but not connected here |
|
| `(0030A)` | `$AE86` | `EVAL` | NOT DONE | some implementation exists, but not connected here |
|
||||||
| `($A000)` | `$E394` | cold start | PARTIAL | |
|
| `($A000)` | `$E394` | cold start | PARTIAL | |
|
||||||
| `($A002)` | | warm start | PARTIAL | |
|
| `($A002)` | `$E3B7` | warm start | PARTIAL | |
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
@@ -76,7 +76,9 @@ Not all of them - only these we want to have implemented.
|
|||||||
| Address | Name | Status | Remarks |
|
| Address | Name | Status | Remarks |
|
||||||
| :-------: | :----------- | :------: | :------------------------------------------------: |
|
| :-------: | :----------- | :------: | :------------------------------------------------: |
|
||||||
| `$A004` | revision str | DONE | |
|
| `$A004` | revision str | DONE | |
|
||||||
|
| `$A453` | (unknown) | NOT DONE | |
|
||||||
| `$A533` | LINKPRG | DONE | |
|
| `$A533` | LINKPRG | DONE | |
|
||||||
|
| `$A644` | new | NOT DONE | |
|
||||||
| `$A659` | set txt ptr | NOT DONE | |
|
| `$A659` | set txt ptr | NOT DONE | |
|
||||||
| `$A68E` | RUNC | DONE | |
|
| `$A68E` | RUNC | DONE | |
|
||||||
| `$A7AE` | NEWSTT | PARTIAL | redirected to RUN command |
|
| `$A7AE` | NEWSTT | PARTIAL | redirected to RUN command |
|
||||||
@@ -107,7 +109,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
|
|||||||
| `$FF90` | | `SETMSG` | DONE | |
|
| `$FF90` | | `SETMSG` | DONE | |
|
||||||
| `$FF93` | | `SECOND` | DONE | |
|
| `$FF93` | | `SECOND` | DONE | |
|
||||||
| `$FF96` | | `TKSA` | DONE | |
|
| `$FF96` | | `TKSA` | DONE | |
|
||||||
| `$FF99` | | `MEMTOP` | DONE | |
|
| `$FF99` | `$FE25` | `MEMTOP` | DONE | |
|
||||||
| `$FF9C` | | `MEMBOT` | DONE | |
|
| `$FF9C` | | `MEMBOT` | DONE | |
|
||||||
| `$FF9F` | | `SCNKEY` | DONE | |
|
| `$FF9F` | | `SCNKEY` | DONE | |
|
||||||
| `$FFA2` | | `SETTMO` | DONE | |
|
| `$FFA2` | | `SETTMO` | DONE | |
|
||||||
@@ -156,12 +158,20 @@ Not all of them - only these we want to have implemented.
|
|||||||
| :-------: | :------------------ | :------: | :------------------------------------------------: |
|
| :-------: | :------------------ | :------: | :------------------------------------------------: |
|
||||||
| `$E544` | clear screen | DONE | |
|
| `$E544` | clear screen | DONE | |
|
||||||
| `$E50C` | set cursor position | PARTIAL | |
|
| `$E50C` | set cursor position | PARTIAL | |
|
||||||
|
| `$E566` | home cursor | NOT DONE | |
|
||||||
| `$E5A0` | setup VIC II & IO | DONE | |
|
| `$E5A0` | setup VIC II & IO | DONE | |
|
||||||
|
| `$E6B6` | advance cursor | NOT DONE | |
|
||||||
|
| `$E701` | previous line | NOT DONE | |
|
||||||
|
| `$E8EA` | scroll line | NOT DONE | |
|
||||||
|
| `$E9FF` | clear line | NOT DONE | |
|
||||||
| `$EA31` | default IRQ | PARTIAL | |
|
| `$EA31` | default IRQ | PARTIAL | |
|
||||||
| `$EA7E` | ack CIA1 + below | DONE | |
|
| `$EA7E` | ack CIA1 + below | DONE | |
|
||||||
| `$EA81` | ret from IRQ/NMI | DONE | |
|
| `$EA81` | ret from IRQ/NMI | DONE | |
|
||||||
| `$F142` | get key from buffer | DONE | |
|
| `$F142` | get key from buffer | DONE | |
|
||||||
| `$FD30` | default vectors | DONE | |
|
| `$FD30` | default vectors | DONE | |
|
||||||
|
| `$FD90` | (unknown) | NOT DONE | |
|
||||||
|
| `$FD90` | (unknown) | NOT DONE | |
|
||||||
|
| `$FE2D` | memtop set part | DONE | |
|
||||||
| `$FE47` | default NMI | PARTIAL | |
|
| `$FE47` | default NMI | PARTIAL | |
|
||||||
| `$FE66` | default BRK | DONE | |
|
| `$FE66` | default BRK | DONE | |
|
||||||
| `$FF80` | revision byte | DONE | |
|
| `$FF80` | revision byte | DONE | |
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
This routine is probably used by many cartridges and other software to initialize parts of the system. At least the UCart uses it - see here:
|
||||||
|
- https://www.elektroda.pl/rtvforum/topic3293027.html
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
This routine is probably used by many cartridges and other software to initialize parts of the system. At least the UCart uses it - see here:
|
||||||
|
- https://www.elektroda.pl/rtvforum/topic3293027.html
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and real implementation
|
||||||
|
|
||||||
|
new:
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
// Clear screen etc, show READY prompt.
|
|
||||||
|
|
||||||
basic_warm_start:
|
//
|
||||||
|
// Continuation of the BASIC cold start routine
|
||||||
|
//
|
||||||
|
|
||||||
|
basic_warm_start_real:
|
||||||
|
|
||||||
#if CONFIG_MEMORY_MODEL_60K
|
#if CONFIG_MEMORY_MODEL_60K
|
||||||
// We need our helpers to get to filenames under ROMs or IO area
|
// We need our helpers to get to filenames under ROMs or IO area
|
||||||
@@ -8,6 +11,7 @@ basic_warm_start:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// If warm start caused by BRK, print it address
|
// If warm start caused by BRK, print it address
|
||||||
|
// XXX sys 58235 also triggers this - to be fixed
|
||||||
lda CMP0
|
lda CMP0
|
||||||
ora CMP0+1
|
ora CMP0+1
|
||||||
beq !+
|
beq !+
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
// Clear screen etc, show READY prompt.
|
||||||
|
|
||||||
|
basic_warm_start:
|
||||||
|
|
||||||
|
jmp basic_warm_start_real
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 58235 - Warm Start
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
|
||||||
|
Address adjusted to support $FE2D - routine which is probably used by many cartridges and other software to initialize parts of the system. At least the UCart uses it - see here:
|
||||||
|
- https://www.elektroda.pl/rtvforum/topic3293027.html
|
||||||
File renamed without changes.
@@ -1,7 +1,7 @@
|
|||||||
// Clear screen and initialise line link table
|
// Clear screen and initialise line link table
|
||||||
// (Compute's Mapping the 64 p215-216)
|
// (Compute's Mapping the 64 p215-216)
|
||||||
|
|
||||||
clear_screen:
|
clear_screen_real:
|
||||||
|
|
||||||
// XXX it is probably a good idea to hide cursor first
|
// XXX it is probably a good idea to hide cursor first
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Clear screen and initialise line link table
|
||||||
|
// (Compute's Mapping the 64 p215-216)
|
||||||
|
|
||||||
|
clear_screen:
|
||||||
|
|
||||||
|
jmp clear_screen_real
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 58726 - CLR/HOME
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 59062 - Advance Cursor
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 59137 - Previous Line
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 59626 - Scrolls a Line
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
This is a well-known address, needed even for some BASIC programming - it's a common target for a SYS command. See for example here:
|
||||||
|
|
||||||
|
- http://ready64.org/articoli/_files/043_pokesc64.txt
|
||||||
|
sys 59903 - Clears Line of Text
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
This routine is probably used by many cartridges and other software to initialize parts of the system. At least the UCart uses it - see here:
|
||||||
|
|
||||||
|
- https://www.elektroda.pl/rtvforum/topic3293027.html
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
// XXX provide documentation and implementation
|
||||||
|
|
||||||
|
STUB_IMPLEMENTATION()
|
||||||
Reference in new issue
Block a user