OCM-PLD Pack v3.4 is out

OCM-PLD Pack v3.4 is out

by ro on 28-09-2017, 08:46
Topic: Challenges
Languages:

The One chip MSX is a re-implementation of an MSX-2 computer that uses a single FPGA to implement all the electronics (except the RAM) of an MSX-2, including the MSX-MUSIC and SCC audio extensions. New Firmware, source code, docs and tools for this 1chipMSX has just been released as OCM-PLD Pack
by KdL.

Here's the change log:

  • Updated Switched I/O ports ($40-$4F) module to Revision 5: Right Inverse Audio is a good solution for recording really clean balanced audio, suggested by Grauw.
  • Updated documentation and DIP-SW User Manual in the docs\ folder.
  • Updated all scripts to compile and collect firmware and added new ones to better manage the multi-release.
  • New generation of Hex-files 304kB from OCM-SDBIOS Pack v2.0
  • New IPL-ROM Revision 2.00 that loads 304kB EPBIOS or 512kB SDBIOS with autodetection of JIS-ROM and F4 Device.
  • New method to improve the system boot time... I am very proud of this result!
  • New contents inside the [msxtools\] folder, RTC save v2.2 with source code, new JIS Table and SwapEIDI tools.
  • Added support to Nextor kernel, MSX turbo-R BIOS and JIS 2nd level: a proper SDBIOS is required for them.
  • Bug fixes and improvements on Internal Mapper 2048 kB, Kanji ROM controller, Hard Reset Key lock and I/O ports.
  • New optimization trick which gives a big reduction of 5% in Logic Elements: the "Area" and "Normal" options have been restored on the Quartus II synthesis to restore stability.There are many PLDs in this package, choose the one you like from the [firmware\] folder.

Notes and warnings:

  • The main intent of this release is to open the road for OCM to evolve in a MSX turbo-R machine and which is why I deliberately avoided the addition of less-used new components (ESE-RAMdisk, RS-232 and MOUSE PS/2 adapter).
  • Nextor kernel for OCM is unable to flash the PLD firmware using 'pldload.com' and the machine can be BRICKED!! The last 'pldflash.com' v1.5 automatically detects Unsupported Kernels, pay close attention to this.
  • OCM-SDBIOS v1.9.2 or earlier is no longer supported by now and OCM-SDBIOS v2.0 or later is needed to have fun.

Some known issues:

  • The timings of VDP TH9958 are too fast: the intros of Fray and Space Manbow confirm the issue. Hint! The most of Microcabin games can run better with the 'runit.com' tool.
  • The 'Break' command of ESE-PS2 module do not work during the hard reset or if you unplug the keyboard at warm.
  • Sometimes the SD-Card is not detected after a hard reset but you can re-insert it on the fly to solve.
  • The current version of MSX turbo-R BIOS can be started with Internal Mapper 4096 kB only using Nextor kernel.

Download at KdL Index!

Comments (21)

By KdL

Paragon (1026)

KdL's picture

28-09-2017, 14:08

Many thanks ro! Smile

OCM-PLD Pack v3.4.1 (2017.09.22)

- Added and updated some scripts to compile and collect firmware.
- Improved Switched I/O ports module, CMT will be disabled if MSX turbo-R BIOS is detected.
- Improved DACout signal, run SETAUDIO.COM /S to separate the external audio cartridges from the internal sound.
- Regression in luminance calibration of RGB 15KHz to improve audio SNR (Zemmix Neo only), thanks to Alex Mena.

By Parn

Master (200)

Parn's picture

28-09-2017, 14:48

This is awesome. Congratulations for your great work, KdL!

By KdL

Paragon (1026)

KdL's picture

28-09-2017, 21:32

Video Tutorial: How to Nextor SD-Card with Windows 10 Pro X64 (Super Administrator)

Powered by OCM-SDBIOS v2.0

By Spider

Supporter (12)

Spider's picture

28-09-2017, 22:31

I just installed 3.4.1 [Zemmix Neo Korea/uk/yen variant] and it works rock solid.
I'm very happy with this build.
Great work, KdL!
Thank you very much!

By raymond

Champion (293)

raymond's picture

29-09-2017, 11:53

A very nice. Will update tonight Big smile

By -Neo-

Champion (340)

-Neo-'s picture

29-09-2017, 15:41

Hi Kdl, is there a current overview of the current Special Keys you use like F12, F12 and what they exactly do?

By KdL

Paragon (1026)

KdL's picture

29-09-2017, 17:01

The special keys list is inside the 'switched io ports revision 5.pdf'

CPU Clock         = [F12] or [DIP-SW1]
Video Output      = [(SHIFT+)PRNSCR] or [DIP-SW2/3]
Audio Mixer & CMT = [(SHIFT+)PGUP/PGDOWN/F9/F10/F11] & [SCRLCK]
Cartridge Slot-1  = [SHIFT+F12] or [DIP-SW4]
Cartridge Slot-2  = [SHIFT+SCRLCK] or [DIP-SW5/6]
System Reset      = [HARD RESET KEY] Fast or Long-Click (normal or full reboot)
Internal Mapper   = [DIP-SW7] only
Internal MegaSD   = [DIP-SW8] only

Other keys are:

GRAPH     = [ALT]
KANA/CODE = [F7]
SELECT    = [F8]

By mfeingol

Master (243)

mfeingol's picture

29-09-2017, 23:46

Yay!

A couple of questions after scanning the documentation and the Twitter feed. Apologies if the answers are obvious.

1. Do we need to do anything special to update to the new SD BIOS? Or is that part of the PLD firmware and we can just flash the new firmware as usual? The note about older SD BIOS versions not being supported made me slightly nervous. :-)

2. What's the difference between "bios_zemmixneo_backslash" and "bios_zemmixneobr_backslash" - i.e. the final two choices when selecting a firmware?

(Context: I have a Brazilian Zemmix NEO running version 3.3.3.)

By KdL

Paragon (1026)

KdL's picture

30-09-2017, 13:37

Hi mfeingol.

1. There are no differences in the flashing mode and the SDBIOS v2.0 is required only if you want use JIS2 or Nextor. The SDBIOS is not strictly necessary to run the system because the PLD has EPBIOS inside.

2. "bios_zemmixneo_backslash" is for the Zemmix Neo Korean machine and "bios_zemmixneobr_backslash" is for the Zemmix Neo Brazilian machine. I have tested these BIOSes on real machines and I do not suggest to exchanging them.

By KdL

Paragon (1026)

KdL's picture

30-09-2017, 13:41

Happy flashing therefore!! Smile

By KdL

Paragon (1026)

KdL's picture

02-10-2017, 04:19

OCM-PLD Pack v3.4.2 (2017.10.02)

- Updated DIP-SW User Manual in the [docs\] folder.
- Updated some scripts to compile and collect firmware.
- Updated 'z80_and_r800_opcodes_list.pdf' v1.05 by GDX in the [esemsx3\src\cpu\opcodes\] folder.
- New ESE-MegaRAM 2048kB ASCII-16K support, tested with the game Pointless Fighting!
- Added 'details.txt' to the [firmware\] folder, inside there are firmware descriptions and special keys.

By mfeingol

Master (243)

mfeingol's picture

03-10-2017, 23:36

KDL:

I've installed 3.4.2 and configured my dip switches as follows:

4 = on, enabling ESE-SCC+ 1024kB
5 and 6 = on, enabling ESE-MegaRAM ASCII-16K 2048kB
7 = off, limiting RAM to 2048kB

However, when running SofaRun, it doesn't seem to detect the ESE-MegaRAM and it reports the ESE-SCC+ capacity as 512kB. So before I bug Louthrax... Is there a tool that will confirm that I actually have enabled the features I believe I have enabled?

Thanks!

(Also, is there a reason why 2048kB is recommended over 4096kB, aka switch 7? Is the spare RAM used by the flash ROM emulation?)

By KdL

Paragon (1026)

KdL's picture

04-10-2017, 01:43

Hi. It is not very easy to explain...

The DIP-SW User Guide uses a simplification to describe a hybrid technology:
SLOT1 = 1024kB (this bank is shared with the 2nd half of SLOT2).
SLOT2 = 1024kB (not shared) + 1024kB (it is the same bank used by SLOT1).

ESE-SCC+ is max 512kB but 1024kB is allocated: the max size used for SCC games is 512kB.
ESE-RAM ASCII-8K is max 1024kB and ESE-RAM ASCII-16K is max 2048kB.
For now SofaRUN does not manage ESE-RAM but only ESE-SCC+.
ESE-MegaRAM Core is the sum of these technologies: the total memory allocated is 2048kB.

Other notes:
The SLOT1 is set to SCC+ by default but inside is equal to SLOT2:
so it could be reused like ESE-RAM ASCII-8K or ASCII-16K easily.
The Internal Mapper is not shared with ESE-MegaRAM:
some game have issues with 4096kB RAM.

By mfeingol

Master (243)

mfeingol's picture

04-10-2017, 03:22

Makes sense, thank you. I guess ultimately all that's missing is SofaRun support for the Slot 2 ESE-RAM.

And just for my own education, does the Slot 2 ESE-RAM include an emulated SCC, or would SCC games need to be flashed to the Slot 1 ESE-SCC+?

By KdL

Paragon (1026)

KdL's picture

04-10-2017, 13:32

You can choose two separated ESE-SCC+ at the same time using DIP-SW 4-5-6 = ON-ON-OFF (or manually via toggle keys, see above).
In my opinion the best way is to use the external slots by default (DIP-SW 4-5-6 = OFF-OFF-OFF) and change them with SLOTMODE of OCM-EXTRA Pack.

A batch example for SofaRUN:

SLOTMODE /3
SR

By Grauw

Enlighted (6180)

Grauw's picture

04-10-2017, 13:27

mfeingol wrote:

And just for my own education, does the Slot 2 ESE-RAM include an emulated SCC, or would SCC games need to be flashed to the Slot 1 ESE-SCC+?

It does not, only the ESE-SCC contains an SCC. Looking at the I/O manual, slot 1 can have ESE-SCC, slot 2 can have ESE-SCC, ESE-ASCII8 and ESE-ASCII16 mappers. Also, the software can select the mode via the switched I/O settings, so there’s no need to fiddle with the DIP switch settings for them in principle.

By mfeingol

Master (243)

mfeingol's picture

04-10-2017, 22:35

All makes sense, thanks.

By KdL

Paragon (1026)

KdL's picture

07-10-2017, 08:58

Hi mfeingol, from the next OCM-PLD v3.5 the limit of Slot-2 will be 2048kB for all mapper types and 1024kB for Slot-1 in shared mode. Some loaders could be show again 512kB for ESE-SCC+ but MGLOAD is working well.

By KdL

Paragon (1026)

KdL's picture

08-10-2017, 06:49

Sorry for my mistake, the correct range of index is 0x00-0xFF.

By KdL

Paragon (1026)

KdL's picture

10-10-2017, 16:39

OCM-PLD Pack v3.5 (2017.10.10) is out!

- Updated Switched I/O ports ($40-$4F) module to Revision 6:
added Slot-0 Primary Mode signal to the smart commands, useful to disable FM-BIOS or to run some old games.
- Updated DIP-SW User Manual in the [docs\] folder.
- Updated some scripts to compile and collect firmware.
- New ESE-MegaSCC+ 1024kB for the Slot-1, shared with the 2nd half of ESE-MegaSCC+ Slot-2.
- New ESE-MegaSCC+ 2048kB for the Slot-2, tested with the beta version of Super Mario World.
- New 'mglOCM.com' with 16 Mbits ROM support in the [msxtools\mglocm\] folder.
- Improved Slot3-3 allocation, BASIC'n and IPL-ROM are shared now and Slot0-1 is free to use any novelties.

By KdL

Paragon (1026)

KdL's picture

11-10-2017, 02:45

SofaRUN and OCM-PLD v3.5 - Suggested Setup

My MSX profile