Skip to content

Commit

Permalink
Improvement on SDRAM controller so it works on all SMX-HB and SM-X Minis
Browse files Browse the repository at this point in the history
SMX-HB now has shortcuts for Page Up, Page Down and F9 to F12 (SEL + +/=. SEL + -/_. SEL + F1 to F4)
  • Loading branch information
ducasp committed Apr 22, 2022
1 parent f7360fe commit dd2e9e5
Show file tree
Hide file tree
Showing 153 changed files with 182 additions and 126 deletions.
5 changes: 4 additions & 1 deletion FPGA/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ myself and KdL incorporated many of those into his official builds.
In this repository you will find source code of builds based on KdL OCM
firmware.

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
9 changes: 8 additions & 1 deletion FPGA/ocm-pld v3.9a/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ brings to the table:
allow all songs content to be properly played in MONO glory :P Try as an
example Doom soundtrack track 3 before updating and after updating it. :)

- Improved: Victor Trucco made improvements on the SDRAM controller so it
is able to work with different chips. Some SM-X mini and SMX-HB use chips
that need this to work.

- Adds support to SMX-HB (as it has only initial support for OCM 3.7.1)

- Extra: I've allowed Joystick port debounce to be disabled, this perhaps
Expand Down Expand Up @@ -79,8 +83,11 @@ brings to the table:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,11 @@ to choose from...

5 - Now you have your firmware file, just use it :)

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smx/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,11 @@ brings to the table on this version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smx/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,11 @@ brings to the table on this version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smx_frankysnd/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
32 changes: 7 additions & 25 deletions FPGA/ocm-pld v3.9a/firmware/smxhb/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -48,37 +48,19 @@ brings to the table:
use an external keyboard.

- Fix: Select key was not working on original 3.7.1 based release, it works
now. Also, SELECT + UP and SELECT + DOWN replaces Page Up and Page Down,
so it is possible to activate the autofire module using only SMX-HB
internal keyboard.
now. Also, SELECT + +/=, SELECT + -/_, SELECT + F1 to F4 replaces Page Up
, Page Down, F9 to F12, so it is possible to activate the autofire module
and most of the OCM Hotkey shortcuts using only SMX-HB internal keyboard.

- Missing: SMX-HB FPGA has less cells than other SM-X devices as it uses
a FPGA with about 70% of the capacity of the other devices, so it doesn't
support OPL3 as it won't fit

- Adds to regular SMX-HB as a frankysnd build:

- 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.

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
32 changes: 7 additions & 25 deletions FPGA/ocm-pld v3.9a/firmware/smxhb/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,37 +50,19 @@ brings to the table:
use an external keyboard.

- Fix: Select key was not working on original 3.7.1 based release, it works
now. Also, SELECT + UP and SELECT + DOWN replaces Page Up and Page Down,
so it is possible to activate the autofire module using only SMX-HB
internal keyboard.
now. Also, SELECT + +/=, SELECT + -/_, SELECT + F1 to F4 replaces Page Up
, Page Down, F9 to F12, so it is possible to activate the autofire module
and most of the OCM Hotkey shortcuts using only SMX-HB internal keyboard.

- Missing: SMX-HB FPGA has less cells than other SM-X devices as it uses
a FPGA with about 70% of the capacity of the other devices, so it doesn't
support OPL3 as it won't fit

- Adds to regular SMX-HB as a frankysnd build:

- 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.

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
13 changes: 7 additions & 6 deletions FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ 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:

- Adds support to SMX-HB (as it has only initial support for OCM 3.7.1)

- Extra: I've allowed Joystick port debounce to be disabled, this perhaps
can alleviate the issues some users were having with paddles. To turn off
Joystick port debounce use the command SETSMART -89 , to turn it back on
Expand All @@ -48,9 +46,9 @@ brings to the table:
use an external keyboard.

- Fix: Select key was not working on original 3.7.1 based release, it works
now. Also, SELECT + UP and SELECT + DOWN replaces Page Up and Page Down,
so it is possible to activate the autofire module using only SMX-HB
internal keyboard.
now. Also, SELECT + +/=, SELECT + -/_, SELECT + F1 to F4 replaces Page Up
, Page Down, F9 to F12, so it is possible to activate the autofire module
and most of the OCM Hotkey shortcuts using only SMX-HB internal keyboard.

- Missing: SMX-HB FPGA has less cells than other SM-X devices as it uses
a FPGA with about 70% of the capacity of the other devices, so it doesn't
Expand All @@ -77,8 +75,11 @@ brings to the table:
any program relying on reading OCM information on those ports won't
get it.

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
11 changes: 7 additions & 4 deletions FPGA/ocm-pld v3.9a/firmware/smxhb_frankysnd/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ brings to the table:
use an external keyboard.

- Fix: Select key was not working on original 3.7.1 based release, it works
now. Also, SELECT + UP and SELECT + DOWN replaces Page Up and Page Down,
so it is possible to activate the autofire module using only SMX-HB
internal keyboard.
now. Also, SELECT + +/=, SELECT + -/_, SELECT + F1 to F4 replaces Page Up
, Page Down, F9 to F12, so it is possible to activate the autofire module
and most of the OCM Hotkey shortcuts using only SMX-HB internal keyboard.

- Missing: SMX-HB FPGA has less cells than other SM-X devices as it uses
a FPGA with about 70% of the capacity of the other devices, so it doesn't
Expand All @@ -79,8 +79,11 @@ brings to the table:
any program relying on reading OCM information on those ports won't
get it.

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smxmini/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smxmini/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smxmini_frankysnd/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/smxmini_frankysnd/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/sx2/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/sx2/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/sx2_frankysnd/README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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.
5 changes: 4 additions & 1 deletion FPGA/ocm-pld v3.9a/firmware/sx2_frankysnd/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@ brings to the table on this frankysnd version:

- Extra: this is a WIP, please wait, but it will have Franky VDP :P

All source code and binaries:
All source code and binaries that changed in relation to OCM 3.9:
(c)2022 Oduvaldo Pavan Junior - ducasp@gmail.com

All source code from OCM 3.9 originally is a work of many people, including
KdL and Hara-san that are really huge contributors to it!

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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
6 changes: 4 additions & 2 deletions FPGA/ocm-pld v3.9a/history.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,10 @@ v3.9a [2022.04.19] [Ducasp Updates!]
those sounds play on left channel without needing to render the right channel sequencing (any command configuring
a channel to be only on Left or Right output is changed on the fly to render on both channels when the new "mono"
pin on OPL3 is high)
- SMX-HB Internal Keyboard doesn't have Page Up or Page Down, so SELECT + UP and SELECT + DOWN acts as those keys

- SMX-HB Internal Keyboard doesn't have Page Up, Page Down or F9 to F12, so SELECT + +/=, SELECT + -/_, SELECT + F1
to SELECT + F4 acts as those keys
- Victor Trucco made improvements on the SDRAM controller so it is able to work with different chips. Some SM-X mini
and SMX-HB use chips that need this to work.

v3.9 [2021.08.23] [KdL's Updates!]

Expand Down
4 changes: 2 additions & 2 deletions FPGA/ocm-pld v3.9a/ocm_sm/1_sm_mega-build_and_collect.cmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
@echo off
rem --- '1_sm_mega-build_and_collect.cmd' v2.7 by Ducasp (2022.04.18)
rem --- '1_sm_mega-build_and_collect.cmd' v2.7 by Ducasp (2022.04.21)

set TIMEOUT=1
set PROJECT=ocm_sm
Expand All @@ -21,7 +21,7 @@ if "%1"=="--no-wait" color 1f&title Task "%~dp0%PROJECT%.qpf"%DEVSTR%
if not exist "%QUARTUS_ROOTDIR%\common\devinfo\cycloneive" goto err_quartus
if not exist src_addons\ goto err_msg
if exist %SEEDENV% set /P CURSEED=<%SEEDENV%
if "%1"=="" echo.&echo Press any key to start building %DEVICE%...&pause >nul 2>nul
if "%1"=="" echo.&echo Building %DEVICE%...&echo. >nul 2>nul
echo.&echo Please wait...&echo.&if "%1"=="" echo Output path: "%~dp0output_files\"&echo.
rem ---------------cleanup----------------
call 2_sm_finalize.cmd --no-wait
Expand Down

0 comments on commit dd2e9e5

Please sign in to comment.