motherboard extras can now be configured

This commit is contained in:
FeralChild64 committed 2019-10-20 09:55:35 +02:00
1 parent 34f984b8f0
commit aec7fe9721
7 files changed
+57 -8

No files matched your search

+4
View File
@@ -23,6 +23,10 @@ Since Open ROMs is highly modular, it should be possible to add other platforms
* 8KB ROM area `$A000`-`$BFFF`
* 8KB ROM area `$E000`-`$FFFF`
### `CONFIG_MB_MEGA_65`, `CONFIG_MB_ULTIMATE_64`
Select if the ROM is going to be used exclusively on the specific motherboard. It prevents from enabling options not having sense, skips initialization of C128-only registers, etc.
### `CONFIG_BRAND_GENERIC`
If you don't know which variant to choose - select this one.
+3
View File
@@ -14,6 +14,9 @@
#define CONFIG_PLATFORM_COMMODORE_64
// #define CONFIG_MB_MEGA_65
// #define CONFIG_MB_ULTIMATE_64
#define CONFIG_BRAND_GENERIC
// #define CONFIG_BRAND_TESTING
// #define CONFIG_BRAND_MEGA_65
+4
View File
@@ -7,6 +7,7 @@
// Idea:
// - sane defaults for the Mega 65 FPGA computer
// - do not enable features which are a significant compatibility risk
// - unless VICE gains Commodore 65 (or at least Flash8 cartridge) emulation support,
// do not enable CPU-specific optimizations; ROMs would be hard to test
@@ -15,6 +16,9 @@
#define CONFIG_PLATFORM_COMMODORE_64
#define CONFIG_MB_MEGA_65
// #define CONFIG_MB_ULTIMATE_64
// #define CONFIG_BRAND_GENERIC
// #define CONFIG_BRAND_TESTING
#define CONFIG_BRAND_MEGA_65
+4 -1
View File
@@ -7,7 +7,7 @@
// Idea:
// - enable compatibility-risky features
// - enable code not normally used yto make sure it still compiles
// - enable code not normally used - to make sure they still compile
@@ -15,6 +15,9 @@
#define CONFIG_PLATFORM_COMMODORE_64
// #define CONFIG_MB_MEGA_65
// #define CONFIG_MB_ULTIMATE_64
// #define CONFIG_BRAND_GENERIC
#define CONFIG_BRAND_TESTING
// #define CONFIG_BRAND_MEGA_65
+3
View File
@@ -14,6 +14,9 @@
#define CONFIG_PLATFORM_COMMODORE_64
// #define CONFIG_MB_MEGA_65
#define CONFIG_MB_ULTIMATE_64
// #define CONFIG_BRAND_GENERIC
// #define CONFIG_BRAND_TESTING
// #define CONFIG_BRAND_MEGA_65
+35 -7
View File
@@ -19,7 +19,31 @@
// Check that platform and brand configuration is correct
// Check that motherboard extras configuration is correct
{
.var selected = 0;
#if CONFIG_MB_MEGA_65
.eval selected++
#endif
#if CONFIG_MB_ULTIMATE_64
.eval selected++
#endif
.if (selected > 1) .error "Please select at most one CONFIG_MB_* option"
#if !CONFIG_PLATFORM_COMMODORE_64 && CONFIG_BRAND_MEGA_65 &&
.error "CONFIG_BRAND_MEGA_65 can only be used with CONFIG_PLATFORM_COMMODORE_64"
#endif
#if !CONFIG_PLATFORM_COMMODORE_64 && CONFIG_BRAND_ULTIMATE_64 &&
.error "CONFIG_BRAND_ULTIMATE_64 can only be used with CONFIG_PLATFORM_COMMODORE_64"
#endif
}
// Check that brand configuration is correct
{
.var selected = 0;
@@ -39,11 +63,11 @@
.if (selected != 1) .error "Please select exactly one CONFIG_BRAND_* option"
#if !CONFIG_PLATFORM_COMMODORE_64 && CONFIG_BRAND_MEGA_65 &&
.error "CONFIG_BRAND_MEGA_65 can only be used with CONFIG_PLATFORM_COMMODORE_64"
#if CONFIG_MB_MEGA_65 && !(CONFIG_BRAND_MEGA_65 || CONFIG_BRAND_TESTING)
.error "Please select brand either matching the CONFIG_MB_*, or a testing one"
#endif
#if !CONFIG_PLATFORM_COMMODORE_64 && CONFIG_BRAND_ULTIMATE_64 &&
.error "CONFIG_BRAND_ULTIMATE_64 can only be used with CONFIG_PLATFORM_COMMODORE_64"
#if CONFIG_MB_ULTIMATE_64 && !(CONFIG_BRAND_ULTIMATE_64 || CONFIG_BRAND_TESTING)
.error "Please select brand either matching the CONFIG_MB_*, or a testing one"
#endif
}
@@ -121,8 +145,12 @@
// Check if keyboard options are correct
{
#if CONFIG_LEGACY_SCNKEY && CONFIG_KEYBOARD_C128
.error "CONFIG_LEGACY_SCNKEY and CONFIG_KEYBOARD_C128 are mutually exclusive"
#if CONFIG_LEGACY_SCNKEY && (CONFIG_KEYBOARD_C128 || CONFIG_KEYBOARD_C128_CAPS_LOCK)
.error "CONFIG_LEGACY_SCNKEY and CONFIG_KEYBOARD_C128* are mutually exclusive"
#endif
#if (CONFIG_MB_MEGA_65 || CONFIG_MB_ULTIMATE_64) && (CONFIG_KEYBOARD_C128 || CONFIG_KEYBOARD_C128_CAPS_LOCK)
.error "Selected CONFIG_MB_* is not compatible with CONFIG_KEYBOARD_C128*"
#endif
}
+4
View File
@@ -18,6 +18,8 @@ setup_vicii:
dex
bpl !-
#if !CONFIG_MB_MEGA_65 && !CONFIG_MB_ULTIMATE_64
// Disable C128 extra keys - just to be sure they won't interfere with anything
stx VIC_XSCAN
@@ -26,6 +28,8 @@ setup_vicii:
stx VIC_CLKRATE
#endif
// Set up default IO values
// - [CM64] page 129 - VIC_SCROLY
// - [CM64] pages 140-144 - VIC_SCROLX