routine at $E422 is now implemented

This commit is contained in:
FeralChild64 committed 2019-10-03 23:13:03 +02:00
1 parent 2608e1b153
commit c3a99ba5e0
4 files changed
+28 -30

No files matched your search

+1 -1
View File
@@ -81,7 +81,7 @@ Not all of them - only these we want to have implemented.
| `$AB1E` | STROUT | DONE | |
| `$BDCD` | LINPRT | NOT DONE | |
| `$E3BF` | INIT | NOT DONE | |
| `$E422` | INITMSG | PARTIAL | banner printed outside |
| `$E422` | INITMSG | DONE | |
| `$E453` | RVECT | NOT DONE | |
<br />
+2 -27
View File
@@ -27,33 +27,8 @@ basic_cold_start:
lda #>do_ILLEGAL_QUANTITY_error
sta USRADD+1
// Print startup banner
jsr printf // XXX don't use printf, keep it for debug purposes only
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
// Print startup messages
jsr INITMSG
// jump into warm start loop
jmp basic_warm_start
+18 -2
View File
@@ -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:
// 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
ldx #30 // NTSC
lda TVSFLG
@@ -23,6 +39,6 @@ INITMSG:
jsr print_integer
jsr print_space
// Print the rest of the start up message
// Print rest of the start up message
ldx #34
jmp print_packed_message
+7
View File
@@ -0,0 +1,7 @@
//
// Startup banner, to be displayed durin cold start
//
startup_banner:
TARGET_HOOK_BANNER()