mirror of
https://github.com/polpo/picogus.git
synced 2026-10-25 21:40:16 +00:00
Add MPU to Tandy and CMS
This commit is contained in:
1 parent
8d5e5d7d60
commit
6b270ba317
4 files changed
+38
-13
No files matched your search
+3
-1
@@ -246,7 +246,7 @@ function(build_adlib TARGET_NAME MULTIFW)
|
||||
endfunction()
|
||||
|
||||
################################################################################
|
||||
# Build MPU firmware
|
||||
# Build MPU-only firmware
|
||||
function(build_mpu TARGET_NAME MULTIFW)
|
||||
set(USB_JOYSTICK TRUE)
|
||||
set(SOUND_MPU TRUE)
|
||||
@@ -266,6 +266,7 @@ endfunction()
|
||||
function(build_tandy TARGET_NAME MULTIFW)
|
||||
set(USB_JOYSTICK TRUE)
|
||||
set(USB_MOUSE TRUE)
|
||||
set(SOUND_MPU TRUE)
|
||||
config_target(${TARGET_NAME} ${MULTIFW})
|
||||
pico_set_program_name(${TARGET_NAME} "picogus-tandy")
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE
|
||||
@@ -283,6 +284,7 @@ endfunction()
|
||||
function(build_cms TARGET_NAME MULTIFW)
|
||||
set(USB_JOYSTICK TRUE)
|
||||
set(USB_MOUSE TRUE)
|
||||
set(SOUND_MPU TRUE)
|
||||
config_target(${TARGET_NAME} ${MULTIFW})
|
||||
pico_set_program_name(${TARGET_NAME} "picogus-cms")
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE
|
||||
|
||||
+16
-5
@@ -22,10 +22,11 @@
|
||||
#ifdef USB_STACK
|
||||
#include "tusb.h"
|
||||
#endif
|
||||
#ifdef USB_MOUSE
|
||||
#ifdef USE_ALARM
|
||||
#if (defined(USB_MOUSE) || defined(SOUND_MPU)) && defined(USE_ALARM)
|
||||
#include "pico_pic.h"
|
||||
#endif
|
||||
|
||||
#ifdef USB_MOUSE
|
||||
#include "mouse/8250uart.h"
|
||||
#include "mouse/sermouse.h"
|
||||
#endif
|
||||
@@ -39,6 +40,12 @@ saa1099_device *saa0, *saa1;
|
||||
#include "cmd_buffers.h"
|
||||
extern cms_buffer_t cms_buffer;
|
||||
|
||||
#ifdef SOUND_MPU
|
||||
#include "flash_settings.h"
|
||||
extern Settings settings;
|
||||
#include "mpu401/export.h"
|
||||
#endif
|
||||
|
||||
extern uint LED_PIN;
|
||||
|
||||
#if PICO_ON_DEVICE
|
||||
@@ -87,17 +94,18 @@ void play_cms() {
|
||||
puts("starting core 1 CMS");
|
||||
flash_safe_execute_core_init();
|
||||
|
||||
#ifdef USB_MOUSE
|
||||
#ifdef USE_ALARM
|
||||
#if (defined(USB_MOUSE) || defined(SOUND_MPU)) && defined(USE_ALARM)
|
||||
// Init PIC on this core so it handles timers
|
||||
PIC_Init();
|
||||
puts("pic inited on core 1");
|
||||
#endif
|
||||
#endif
|
||||
#ifdef USB_STACK
|
||||
// Init TinyUSB for joystick support
|
||||
tuh_init(BOARD_TUH_RHPORT);
|
||||
#endif
|
||||
#ifdef SOUND_MPU
|
||||
MPU401_Init(settings.MPU.delaySysex, settings.MPU.fakeAllNotesOff);
|
||||
#endif
|
||||
#ifdef MAME_CMS
|
||||
puts("Creating SAA1099 1");
|
||||
saa0 = new saa1099_device(7159090);
|
||||
@@ -196,6 +204,9 @@ void play_cms() {
|
||||
|
||||
// uart emulation task
|
||||
uartemu_core1_task();
|
||||
#endif
|
||||
#ifdef SOUND_MPU
|
||||
send_midi_bytes(4);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -776,8 +776,6 @@ int main()
|
||||
loadSettings(&settings);
|
||||
#if defined(SOUND_GUS)
|
||||
settings.startupMode = GUS_MODE;
|
||||
#elif defined(SOUND_MPU)
|
||||
settings.startupMode = MPU_MODE;
|
||||
#elif defined(SOUND_TANDY)
|
||||
settings.startupMode = TANDY_MODE;
|
||||
#elif defined(SOUND_CMS)
|
||||
@@ -786,6 +784,8 @@ int main()
|
||||
settings.startupMode = SB_MODE;
|
||||
#elif defined(SOUND_OPL)
|
||||
settings.startupMode = ADLIB_MODE;
|
||||
#elif defined(MPU_ONLY)
|
||||
settings.startupMode = MPU_MODE;
|
||||
#elif defined(USB_ONLY)
|
||||
settings.startupMode = USB_MODE;
|
||||
#else
|
||||
|
||||
+17
-5
@@ -28,10 +28,11 @@ extern uint LED_PIN;
|
||||
#ifdef USB_STACK
|
||||
#include "tusb.h"
|
||||
#endif
|
||||
#ifdef USB_MOUSE
|
||||
#ifdef USE_ALARM
|
||||
#if (defined(USB_MOUSE) || defined(SOUND_MPU)) && defined(USE_ALARM)
|
||||
#include "pico_pic.h"
|
||||
#endif
|
||||
|
||||
#ifdef USB_MOUSE
|
||||
#include "mouse/8250uart.h"
|
||||
#include "mouse/sermouse.h"
|
||||
#endif
|
||||
@@ -43,6 +44,12 @@ extern uint LED_PIN;
|
||||
bi_decl(bi_3pins_with_names(PICO_AUDIO_I2S_DATA_PIN, "I2S DIN", PICO_AUDIO_I2S_CLOCK_PIN_BASE, "I2S BCK", PICO_AUDIO_I2S_CLOCK_PIN_BASE+1, "I2S LRCK"));
|
||||
#endif
|
||||
|
||||
#ifdef SOUND_MPU
|
||||
#include "flash_settings.h"
|
||||
extern Settings settings;
|
||||
#include "mpu401/export.h"
|
||||
#endif
|
||||
|
||||
#define SAMPLES_PER_BUFFER 8
|
||||
|
||||
struct audio_buffer_pool *init_audio() {
|
||||
@@ -84,18 +91,20 @@ void play_tandy() {
|
||||
puts("starting core 1 tandy");
|
||||
flash_safe_execute_core_init();
|
||||
|
||||
#ifdef USB_MOUSE
|
||||
#ifdef USE_ALARM
|
||||
#if (defined(USB_MOUSE) || defined(SOUND_MPU)) && defined(USE_ALARM)
|
||||
// Init PIC on this core so it handles timers
|
||||
PIC_Init();
|
||||
puts("pic inited on core 1");
|
||||
#endif
|
||||
#endif
|
||||
#ifdef USB_STACK
|
||||
// Init TinyUSB for joystick support
|
||||
tuh_init(BOARD_TUH_RHPORT);
|
||||
#endif
|
||||
|
||||
#ifdef SOUND_MPU
|
||||
MPU401_Init(settings.MPU.delaySysex, settings.MPU.fakeAllNotesOff);
|
||||
#endif
|
||||
|
||||
tandysound_t tandysound;
|
||||
struct audio_buffer_pool *ap = init_audio();
|
||||
#ifdef SQUARE_FLOAT_OUTPUT
|
||||
@@ -144,6 +153,9 @@ void play_tandy() {
|
||||
|
||||
// uart emulation task
|
||||
uartemu_core1_task();
|
||||
#endif
|
||||
#ifdef SOUND_MPU
|
||||
send_midi_bytes(8);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user