fixed IOINIT, adapted tape routines to fixed CHROUT

This commit is contained in:
FeralChild64 committed 2020-01-13 18:31:13 +01:00
1 parent 01f6494e32
commit 723a7772fa
4 files changed
+16 -13

No files matched your search

+2 -2
View File
@@ -179,7 +179,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| :-------: | :--------: | :---------- | :------: | :--------------------------------------------------: |
| `($028F)` | | `KEYLOG` | DONE | |
| `$FF81` | `$FF5B` | `CINT` | DONE | |
| `$FF84` | `$FDA3` | `IOINIT` | PARTIAL | CIA initialization incomplete |
| `$FF84` | `$FDA3` | `IOINIT` | DONE | |
| `$FF87` | `$FD50` | `RAMTAS` | DONE | |
| `$FF8A` | `$FD15` | `RESTOR` | DONE | |
| `$FF8D` | `$FD1A` | `VECTOR` | DONE | |
@@ -220,7 +220,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| `$FFF0` | `$E50A` | `PLOT` | DONE | |
| `$FFF3` | | `IOBASE` | DONE | |
| `($FFFA)` | | NMI vec | PARTIAL | |
| `($FFFC)` | `$FCE2` | RESET vec | PARTIAL | see IOINIT status |
| `($FFFC)` | `$FCE2` | RESET vec | DONE | |
| `($FFFE)` | | IRQ/BRK vec | DONE | |
<br />
+5 -4
View File
@@ -111,10 +111,11 @@ IOINIT:
lda #$3F
sta CIA2_DDRA // $DD02
// XXX how to initialize these timers???
// stx CIA1_CRB // $DC0F
// stx CIA2_CRA // $DD0E
// stx CIA2_CRB // $DD0F
// Checked using VICE that original ROM initializes timers this way
ldx #$08
stx CIA1_CRB // $DC0F
stx CIA2_CRA // $DD0E
stx CIA2_CRB // $DD0F
// Set VIC-II bank - at least the 'Operacja Proboszcz' game needs this within IOINIT
// Checked on original ROMs, that it sets bit #2 (RS-232 output) high
-7
View File
@@ -27,8 +27,6 @@ tape_break_error:
tape_ask_play:
sei // timing is critical for tape loading
#if !CONFIG_TAPE_NO_KEY_SENSE
// First check whether the button is already pressed
@@ -50,7 +48,6 @@ tape_ask_play:
tape_wait_play_loop:
jsr udtim_keyboard
jsr STOP
bcs tape_break_error
@@ -299,15 +296,11 @@ tape_load_success:
jsr tape_screen_on_motor_off
jsr lvs_display_done
cli
jmp lvs_return_last_address
tape_load_error:
jsr tape_screen_on_motor_off
cli
jmp lvs_load_verify_error
+9
View File
@@ -19,6 +19,15 @@ tape_screen_on_motor_off:
jmp screen_on
tape_screen_off_motor_on:
// We do not want interrupts and CHROUT reenables them
sei
// Clear keyboard buffer
lda #$00
sta NDX
// Set screen color
lda VIC_EXTCOL
sta COLSTORE