initial support for cartridge-extended ROMs
This commit is contained in:
1 parent
47b9676ca9
commit
ec2b32f577
5 files changed
+211
-11
No files matched your search
+1
-1
@@ -1,5 +1,5 @@
|
||||
|
||||
;; #CONFIG# ID $04 ; should be 1 byte, different for each config file!
|
||||
;; #CONFIG# ID $E0 ; should be 1 byte, different for each config file!
|
||||
|
||||
;
|
||||
; Please read CONFIG.md before modifying this file!
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
|
||||
;; #CONFIG# ID $02 ; should be 1 byte, different for each config file!
|
||||
|
||||
;
|
||||
; Please read CONFIG.md before modifying this file!
|
||||
;
|
||||
|
||||
; Idea:
|
||||
; - sane defaults for the Commodore 64/128 emulators
|
||||
; - use RetroRelplay cartridge image as a ROM extension
|
||||
; - do not enable features which are a significant compatibility risk
|
||||
|
||||
|
||||
|
||||
; --- Hardware platform and brand
|
||||
|
||||
;; #CONFIG# PLATFORM_COMMODORE_64 YES
|
||||
;; #CONFIG# BRAND_GENERIC_CRT YES
|
||||
|
||||
|
||||
; --- Processor instruction set
|
||||
|
||||
;; #CONFIG# CPU_MOS_6502 YES
|
||||
;; #CONFIG# CPU_DTV_6502 NO
|
||||
;; #CONFIG# CPU_RCW_65C02 NO
|
||||
;; #CONFIG# CPU_WDC_65C02 NO
|
||||
;; #CONFIG# CPU_WDC_65816 NO
|
||||
;; #CONFIG# CPU_CSG_65CE02 NO
|
||||
|
||||
|
||||
; --- Memory model
|
||||
|
||||
;; #CONFIG# MEMORY_MODEL_38K NO
|
||||
;; #CONFIG# MEMORY_MODEL_46K NO
|
||||
;; #CONFIG# MEMORY_MODEL_50K YES
|
||||
;; #CONFIG# MEMORY_MODEL_60K NO
|
||||
|
||||
|
||||
; --- IEC bus configuration
|
||||
|
||||
;; #CONFIG# IEC YES
|
||||
;; #CONFIG# IEC_DOLPHINDOS YES
|
||||
;; #CONFIG# IEC_DOLPHINDOS_FAST YES
|
||||
;; #CONFIG# IEC_JIFFYDOS YES
|
||||
;; #CONFIG# IEC_JIFFYDOS_BLANK YES
|
||||
|
||||
|
||||
; --- Tape deck configuration
|
||||
|
||||
;; #CONFIG# TAPE_NORMAL YES
|
||||
;; #CONFIG# TAPE_TURBO YES
|
||||
;; #CONFIG# TAPE_AUTODETECT YES
|
||||
;; #CONFIG# TAPE_NO_KEY_SENSE NO
|
||||
;; #CONFIG# TAPE_NO_MOTOR_CONTROL NO
|
||||
|
||||
|
||||
; --- Sound support
|
||||
|
||||
;; #CONFIG# SID_2ND_ADDRESS NO
|
||||
;; #CONFIG# SID_3RD_ADDRESS NO
|
||||
;; #CONFIG# SID_D4XX NO
|
||||
;; #CONFIG# SID_D5XX NO
|
||||
;; #CONFIG# SID_D6XX NO
|
||||
;; #CONFIG# SID_D7XX NO
|
||||
|
||||
|
||||
; --- Keyboard settings
|
||||
|
||||
;; #CONFIG# LEGACY_SCNKEY NO
|
||||
;; #CONFIG# KEYBOARD_C128 NO
|
||||
;; #CONFIG# KEYBOARD_C128_CAPS_LOCK NO
|
||||
;; #CONFIG# KEY_REPEAT_DEFAULT NO
|
||||
;; #CONFIG# KEY_REPEAT_ALWAYS NO
|
||||
;; #CONFIG# KEY_FAST_SCAN YES
|
||||
;; #CONFIG# JOY1_CURSOR NO
|
||||
;; #CONFIG# JOY2_CURSOR NO
|
||||
|
||||
;; #CONFIG# PROGRAMMABLE_KEYS YES
|
||||
|
||||
;; #CONFIG# KEYCMD_RUN "\5FL"
|
||||
|
||||
;; #CONFIG# KEYCMD_F1 "@8$"
|
||||
;; #CONFIG# KEYCMD_F2 "LOAD"
|
||||
;; #CONFIG# KEYCMD_F3 "@9$"
|
||||
;; #CONFIG# KEYCMD_F4 "RUN:"
|
||||
;; #CONFIG# KEYCMD_F5 "@10$"
|
||||
;; #CONFIG# KEYCMD_F6 NO
|
||||
;; #CONFIG# KEYCMD_F7 "@11$"
|
||||
;; #CONFIG# KEYCMD_F8 NO
|
||||
|
||||
;; #CONFIG# KEYCMD_HELP "LIST"
|
||||
|
||||
;; #CONFIG# KEYCMD_F9 NO
|
||||
;; #CONFIG# KEYCMD_F10 NO
|
||||
;; #CONFIG# KEYCMD_F11 NO
|
||||
;; #CONFIG# KEYCMD_F12 NO
|
||||
;; #CONFIG# KEYCMD_F13 NO
|
||||
;; #CONFIG# KEYCMD_F14 NO
|
||||
|
||||
|
||||
; --- Screen editor
|
||||
|
||||
;; #CONFIG# EDIT_STOPQUOTE YES
|
||||
;; #CONFIG# EDIT_TABULATORS NO
|
||||
|
||||
|
||||
; --- Software features
|
||||
|
||||
;; #CONFIG# PANIC_SCREEN YES
|
||||
;; #CONFIG# DOS_WEDGE YES
|
||||
;; #CONFIG# TAPE_WEDGE YES
|
||||
;; #CONFIG# TAPE_HEAD_ALIGN NO
|
||||
;; #CONFIG# BCD_SAFE_INTERRUPTS YES
|
||||
|
||||
|
||||
; --- Eye candy
|
||||
|
||||
;; #CONFIG# COLORS_BRAND YES
|
||||
;; #CONFIG# BANNER_SIMPLE NO
|
||||
;; #CONFIG# BANNER_FANCY YES
|
||||
;; #CONFIG# SHOW_FEATURES YES
|
||||
|
||||
|
||||
; --- Debug options
|
||||
|
||||
;; #CONFIG# DBG_STUBS_BRK NO
|
||||
;; #CONFIG# DBG_PRINTF NO
|
||||
|
||||
|
||||
; --- Other
|
||||
|
||||
;; #CONFIG# COMPRESSION_LVL_2 NO
|
||||
@@ -39,6 +39,7 @@
|
||||
!set counter = 0
|
||||
!ifdef CONFIG_BRAND_CUSTOM { !set counter = counter + 1 }
|
||||
!ifdef CONFIG_BRAND_GENERIC { !set counter = counter + 1 }
|
||||
!ifdef CONFIG_BRAND_GENERIC_CRT { !set counter = counter + 1 }
|
||||
!ifdef CONFIG_BRAND_TESTING { !set counter = counter + 1 }
|
||||
|
||||
!ifndef CONFIG_PLATFORM_COMMODORE_64 {
|
||||
@@ -51,6 +52,13 @@
|
||||
!error "Please select exactly one CONFIG_BRAND_* option"
|
||||
}
|
||||
|
||||
!ifdef CONFIG_BRAND_GENERIC_CRT { !ifndef ROM_LAYOUT_CRT {
|
||||
!error "CONFIG_BRAND_GENERIC_CRT needs cartridge extended ROM set and vice-versa"
|
||||
}}
|
||||
!ifdef CONFIG_BRAND_GENERIC { !ifndef ROM_LAYOUT_STD {
|
||||
!error "CONFIG_BRAND_GENERIC needs standard ROM set and vice-versa"
|
||||
}}
|
||||
|
||||
|
||||
|
||||
; Check that processor configuration is correct
|
||||
|
||||
@@ -29,9 +29,16 @@ jiffydos_load:
|
||||
lda FA
|
||||
jsr TALK
|
||||
bcs jiffydos_load_error
|
||||
|
||||
lda #$01
|
||||
sta CIA2_DDRB ; XXX for test only
|
||||
|
||||
lda #$61
|
||||
jsr TKSA
|
||||
|
||||
lda #$02
|
||||
sta CIA2_DDRB ; XXX for test only
|
||||
|
||||
; XXX flow below most likely takes too much time...
|
||||
|
||||
; Timing is critical, do not allow interrupts
|
||||
@@ -120,6 +127,9 @@ jiffydos_load_check_loop:
|
||||
|
||||
jiffydos_load_error:
|
||||
|
||||
lda #$F3
|
||||
sta CIA2_DDRB ; XXX for test only
|
||||
|
||||
+panic $03
|
||||
|
||||
; XXX finish the implementation
|
||||
|
||||
Reference in new issue
Block a user