-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed Franky PSG bug (was writing when reading its I/O port)
- Loading branch information
Showing
83 changed files
with
71,758 additions
and
1,726 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# SMX_FRANKYSND | ||
|
||
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/R6R2BRGX6) | ||
|
||
IMPORTANT! READ THIS AND BE CAREFUL! BRICKING SM-X ISN'T FUN! IT IS A PAIN TO | ||
RESTORE IT USING JIC / USB BLASTER AS YOU WILL NEED TO CONNECT IT TO AN USB | ||
BLASTER TO RESTORE IT. YOU HAVE BEEN WARNED! REALLY! | ||
|
||
ONLY USE SMXFLASH.COM to update your SM-X. ONLY USE A FIRMWARE THAT IS MEANT TO | ||
SM-X. NO, SMX-HB firmware IS NOT COMPATIBLE. SM-X MINI firmware IS NOT | ||
COMPATIBLE. SX2 firmware IS NOT COMPATIBLE. IF THE FIRMWARE IS NOT SAYING IT | ||
IS FOR SM-X STAY AWAY FROM IT. | ||
|
||
The version of SMXFLASH.COM that is sent along with the firmware file also | ||
works on NEXTOR. Older versions of SMXFLASH.COM requires MSX DOS 2 Kernel to be | ||
loaded. Why would you use other version? I have no idea. Read this fully and | ||
be carefull to not have any issues. Command line to update: | ||
|
||
SMXFLASH OCM_SM.PLD | ||
|
||
Wait until it quits to the dos prompt telling it is done. If there is an error | ||
message after it started erasing or writing, try again until it works, as if | ||
you power it down with an unfinished update, it will BRICK and you will need | ||
to use an USB Blaster and JIC file to restore it, like said above, a pain! | ||
|
||
Also, be aware that if power fails during update, you are most likely to end up | ||
with a bricked unit and you will need to use an USB Blaster and JIC file to | ||
restore it, again, a pain! | ||
|
||
OCM-PLD v3.9a is an extension on KdL OCM release v3.9. What this extension | ||
brings to the table on this frankysnd version: | ||
|
||
- Extra: I've added partial support to a built-in Franky. That partial | ||
support is good enough to work with SG1000, COL4MMM (using COM\Franky | ||
versions) VGMPLAY and Sofarun (remember to set it to use MSX VDP and | ||
Franky's PSG). As Franky sound uses I/O ports 0x48 and 0x49, and those | ||
ports are part of the switched I/O, it is usually disabled, as OCM IPL | ||
loader will leave switched I/O selected after booting. There are | ||
different ways to enable Franky sound: | ||
|
||
- VGMPLAY will automatically disable switched I/O, so you can play a | ||
VGM song that uses SN76489 and after exiting VGMPLAY you can use other | ||
software. | ||
|
||
- De-select the internal switched I/O by sending the basic command | ||
OUT &H40,0 | ||
|
||
- Use SETSMART -8C to enable the I/O ports 0x48 and 0x49 for that, so | ||
any program relying on reading OCM information on those ports won't | ||
get it. | ||
|
||
- Fix: I've fixed OPL3, it had two issues that prevented it to work with | ||
the latest VGMPlay version: | ||
|
||
- IRQ was not connected, so timers programmed wouldn't trigger, | ||
instead only the VDP interrupt, to slow, so music would play darn | ||
slow with VGMPlay. | ||
|
||
- Even after fixing that, playing speed was almost half of the correct | ||
speed for VGMs. The timer scaler was not properly set causing it to | ||
trigger slower than programmed. | ||
|
||
Since VGMPlay 1.3 relies on OPL3 timer when present to drive a high speed | ||
interrupt, not having IRQ and not having the proper scaler for timer | ||
caused its timing to be slow, darn slow... | ||
|
||
- Planned for the future SM-X, SM-X mini and SX-2 will have a franky build: | ||
|
||
- Missing: FPGA in those devices can't fit OPL3 along with Franky VDP and | ||
PSG, so that build won't have OPL3 support. | ||
|
||
- Extra: this is a WIP, please wait, but it will have Franky VDP :P | ||
|
||
All source code and binaries: | ||
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com | ||
|
||
All code can be re-used, re-written, derivative work can be sold, as long as the | ||
source code of changes is made public as well. |
Binary file added
BIN
+1.68 MB
FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/smx-frankysnd-ocm3.9-BR-fw.zip
Binary file not shown.
Binary file added
BIN
+1.68 MB
FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/smx-frankysnd-ocm3.9-ES-fw.zip
Binary file not shown.
Binary file added
BIN
+1.68 MB
FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/smx-frankysnd-ocm3.9-FR-fw.zip
Binary file not shown.
Binary file added
BIN
+1.68 MB
FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/smx-frankysnd-ocm3.9-US-fw.zip
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+1.46 MB
FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/smx-hb-frankysnd-ocm3.9-BR-fw.zip
Binary file not shown.
Binary file added
BIN
+1.46 MB
FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/smx-hb-frankysnd-ocm3.9-ES-fw.zip
Binary file not shown.
Binary file added
BIN
+1.46 MB
FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/smx-hb-frankysnd-ocm3.9-FR-fw.zip
Binary file not shown.
Binary file added
BIN
+1.46 MB
FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/smx-hb-frankysnd-ocm3.9-US-fw.zip
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
@echo off | ||
rem --- '!!-init-smxhb_frankysnd.cmd' v2.7 by Ducasp (2022.04.10) | ||
rem based on '!!-init-smx.cmd' v2.7 by KdL (2021.08.23) | ||
|
||
set TIMEOUT=1 | ||
set FOLDER=init_ | ||
set DEVICE=smxhb_frankysnd | ||
if "%1"=="" color 71&title INIT for SMX-HB w/ Franky Sound | ||
if not exist "%FOLDER%%DEVICE%\" goto err_msg | ||
rem ---------------cleanup---------------- | ||
call !!-cleanup.cmd --no-wait | ||
rem -------------------------------------- | ||
|
||
:smx | ||
rem.>"__%DEVICE%__" | ||
xcopy /S /E /Y "%FOLDER%%DEVICE%\*.*" >nul 2>nul | ||
echo.&echo SMX-HB w/ Franky Sound is ready to compile! | ||
goto timer | ||
|
||
:err_msg | ||
if "%1"=="" color f0 | ||
echo.&echo '%FOLDER%%DEVICE%\' not found! | ||
|
||
:timer | ||
if "%1"=="" waitfor /T %TIMEOUT% pause >nul 2>nul | ||
|
||
:quit |
This file was deleted.
Oops, something went wrong.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.