kopia lustrzana https://github.com/Jean-MarcHarvengt/MCUME
fixes to teensy mcume
-nofrendo sample rate changed to 44100Hz -changed gnuboy horizontal resolution to 160px -changed gnuboy refresh rate to 60Hz -added the select button to gnuboy -enabled max 490KB roms for teensy without PSRAMpull/10/head
rodzic
d06e0ba9a2
commit
2a247e6088
|
@ -35,6 +35,8 @@ extern "C" void write_rom(int address, uint8 val) {
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
#ifdef HAS_PSRAM
|
||||||
|
|
||||||
#include "psram_t.h"
|
#include "psram_t.h"
|
||||||
|
|
||||||
PSRAM_T psram = PSRAM_T(PSRAM_CS, PSRAM_MOSI, PSRAM_SCLK, PSRAM_MISO);
|
PSRAM_T psram = PSRAM_T(PSRAM_CS, PSRAM_MOSI, PSRAM_SCLK, PSRAM_MISO);
|
||||||
|
@ -46,6 +48,20 @@ extern "C" uint8 read_rom(int address) {
|
||||||
extern "C" void write_rom(int address, uint8 val) {
|
extern "C" void write_rom(int address, uint8 val) {
|
||||||
psram.pswrite(address,val);
|
psram.pswrite(address,val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
DMAMEM static unsigned char MemPool[490*1024];
|
||||||
|
|
||||||
|
extern "C" uint8 read_rom(int address) {
|
||||||
|
return (MemPool[address+rom_offset]);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" void write_rom(int address, uint8 val) {
|
||||||
|
MemPool[address]=val;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void emu_KeyboardOnDown(int keymodifer, int key) {
|
void emu_KeyboardOnDown(int keymodifer, int key) {
|
||||||
|
@ -60,7 +76,7 @@ void emu_KeyboardOnUp(int keymodifer, int key) {
|
||||||
void gbe_Init(void)
|
void gbe_Init(void)
|
||||||
{
|
{
|
||||||
emu_printf("Allocating MEM");
|
emu_printf("Allocating MEM");
|
||||||
#ifndef HAS_T41
|
#ifdef HAS_PSRAM
|
||||||
psram.begin();
|
psram.begin();
|
||||||
#endif
|
#endif
|
||||||
mem_init();
|
mem_init();
|
||||||
|
@ -144,7 +160,9 @@ void gbe_Step(void)
|
||||||
hw.pad|=PAD_B;
|
hw.pad|=PAD_B;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (k & MASK_KEY_USER2) hw.pad|=PAD_START; //PAD_SELECT;
|
if (k & MASK_KEY_USER2) hw.pad|=PAD_START;
|
||||||
|
|
||||||
|
if (k & MASK_KEY_USER3) hw.pad|=PAD_SELECT;
|
||||||
|
|
||||||
|
|
||||||
// cpu_emulate(2280);
|
// cpu_emulate(2280);
|
||||||
|
|
|
@ -251,7 +251,7 @@ void loop(void)
|
||||||
// In VGA mode, we show the keyboard on TFT
|
// In VGA mode, we show the keyboard on TFT
|
||||||
toggleVirtualkeyboard(true); // keepOn
|
toggleVirtualkeyboard(true); // keepOn
|
||||||
Serial.println("Starting");
|
Serial.println("Starting");
|
||||||
myTimer.begin(vblCount, 40000); //to run every 20ms
|
myTimer.begin(vblCount, 16666); // 60Hz = 1/0.016666
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
delay(20);
|
delay(20);
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
#define PAL_COLOR_MASK 0xff
|
#define PAL_COLOR_MASK 0xff
|
||||||
|
|
||||||
#ifdef LOHRES
|
#ifdef LOHRES
|
||||||
#define TFT_WIDTH 240
|
#define TFT_WIDTH 160
|
||||||
#define TFT_REALWIDTH 240
|
#define TFT_REALWIDTH 240
|
||||||
#else
|
#else
|
||||||
#define TFT_WIDTH 320
|
#define TFT_WIDTH 160
|
||||||
#define TFT_REALWIDTH 320
|
#define TFT_REALWIDTH 320
|
||||||
#endif
|
#endif
|
||||||
#define TFT_HEIGHT 144
|
#define TFT_HEIGHT 144
|
||||||
|
|
|
@ -91,7 +91,7 @@ static int osd_init_sound(void)
|
||||||
|
|
||||||
void osd_getsoundinfo(sndinfo_t *info)
|
void osd_getsoundinfo(sndinfo_t *info)
|
||||||
{
|
{
|
||||||
info->sample_rate = (22050*20000)/16666; // fix for 60Hz
|
info->sample_rate = 44100
|
||||||
info->bps = 16;
|
info->bps = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -199,10 +199,10 @@ Game console systems supported and status on various MCU platforms<br>
|
||||||
| Odyssey/Videopac | X | X | X | X | X | X | X |
|
| Odyssey/Videopac | X | X | X | X | X | X | X |
|
||||||
| Colecovision | X | X | X | X | X | X | X |
|
| Colecovision | X | X | X | X | X | X | X |
|
||||||
| Atari 5200 | X | X | X | X | X | X | X |
|
| Atari 5200 | X | X | X | X | X | X | X |
|
||||||
| Nintendo NES | X | big roms! | X | X | X | X | - |
|
| Nintendo NES | X | 384KB roms! | X | X | X | X | - |
|
||||||
| Vectrex | - | full speed! | X | X | - | slow | - |
|
| Vectrex | - | full speed! | X | X | - | slow | - |
|
||||||
| PC Engine | - | - | X | X | - | - | - |
|
| PC Engine | - | - | X | X | - | - | - |
|
||||||
| Gameboy/GBColor | - | - | X | X | - | - | - |
|
| Gameboy/GBColor | - | 490KB roms| X | X | - | - | - |
|
||||||
| Sega Master System/Game Gear | - | - | X | X | - | - | - |
|
| Sega Master System/Game Gear | - | - | X | X | - | - | - |
|
||||||
| Sega Genesis/Megadrive | - | - | X | X | - | - | - |
|
| Sega Genesis/Megadrive | - | - | X | X | - | - | - |
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue