routine at $E422 is now implemented
This commit is contained in:
1 parent
2608e1b153
commit
c3a99ba5e0
4 files changed
+28
-30
No files matched your search
@@ -81,7 +81,7 @@ Not all of them - only these we want to have implemented.
|
|||||||
| `$AB1E` | STROUT | DONE | |
|
| `$AB1E` | STROUT | DONE | |
|
||||||
| `$BDCD` | LINPRT | NOT DONE | |
|
| `$BDCD` | LINPRT | NOT DONE | |
|
||||||
| `$E3BF` | INIT | NOT DONE | |
|
| `$E3BF` | INIT | NOT DONE | |
|
||||||
| `$E422` | INITMSG | PARTIAL | banner printed outside |
|
| `$E422` | INITMSG | DONE | |
|
||||||
| `$E453` | RVECT | NOT DONE | |
|
| `$E453` | RVECT | NOT DONE | |
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|||||||
@@ -27,33 +27,8 @@ basic_cold_start:
|
|||||||
lda #>do_ILLEGAL_QUANTITY_error
|
lda #>do_ILLEGAL_QUANTITY_error
|
||||||
sta USRADD+1
|
sta USRADD+1
|
||||||
|
|
||||||
// Print startup banner
|
// Print startup messages
|
||||||
jsr printf // XXX don't use printf, keep it for debug purposes only
|
jsr INITMSG
|
||||||
TARGET_HOOK_BANNER()
|
|
||||||
|
|
||||||
// Print PAL/NTSC
|
|
||||||
ldx #30 // NTSC
|
|
||||||
lda TVSFLG
|
|
||||||
beq !+
|
|
||||||
ldx #31 // PAL
|
|
||||||
!:
|
|
||||||
jsr print_packed_message
|
|
||||||
|
|
||||||
// Work out free bytes, display them
|
|
||||||
jsr basic_do_new
|
|
||||||
lda MEMSIZ+0
|
|
||||||
sec
|
|
||||||
sbc TXTTAB+0
|
|
||||||
tax
|
|
||||||
lda MEMSIZ+1
|
|
||||||
sbc TXTTAB+1
|
|
||||||
|
|
||||||
jsr print_integer
|
|
||||||
jsr print_space
|
|
||||||
|
|
||||||
// Print the rest of the start up message
|
|
||||||
ldx #34
|
|
||||||
jsr print_packed_message
|
|
||||||
|
|
||||||
// jump into warm start loop
|
// jump into warm start loop
|
||||||
jmp basic_warm_start
|
jmp basic_warm_start
|
||||||
@@ -1,8 +1,24 @@
|
|||||||
|
|
||||||
// XXX provide documentation and finish the implementation
|
//
|
||||||
|
// Well-known BASIC routine, described in:
|
||||||
|
//
|
||||||
|
// - [CM64] Compute's Mapping the Commodore 64 - page 212
|
||||||
|
//
|
||||||
|
// Prints the start-up messages
|
||||||
|
//
|
||||||
|
|
||||||
INITMSG:
|
INITMSG:
|
||||||
|
|
||||||
|
// Print startup banner, up to 255 characters
|
||||||
|
ldx #$00
|
||||||
|
!:
|
||||||
|
lda startup_banner, x
|
||||||
|
beq !+ // 0 means end of banner
|
||||||
|
jsr JCHROUT
|
||||||
|
inx
|
||||||
|
bne !-
|
||||||
|
|
||||||
|
!:
|
||||||
// Print PAL/NTSC
|
// Print PAL/NTSC
|
||||||
ldx #30 // NTSC
|
ldx #30 // NTSC
|
||||||
lda TVSFLG
|
lda TVSFLG
|
||||||
@@ -23,6 +39,6 @@ INITMSG:
|
|||||||
jsr print_integer
|
jsr print_integer
|
||||||
jsr print_space
|
jsr print_space
|
||||||
|
|
||||||
// Print the rest of the start up message
|
// Print rest of the start up message
|
||||||
ldx #34
|
ldx #34
|
||||||
jmp print_packed_message
|
jmp print_packed_message
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
//
|
||||||
|
// Startup banner, to be displayed durin cold start
|
||||||
|
//
|
||||||
|
|
||||||
|
startup_banner:
|
||||||
|
TARGET_HOOK_BANNER()
|
||||||
Reference in new issue
Block a user