I don't think MSX3 should be a good idea, there is a lot a posibilities to explore in the actual hardwares. MSX2+ and MSX turbo R are the big forgottens, they have a world of possibilities to explore and it should be great to see dedicated software. If we take recent productions as Pointless Fight and Super Mario World we can see a real step forward in MSX2 software, so why not try MSX2+ productions?
again it looks like not MSX3, but a TurboR replacement would be the actual topic to attack first.
All this talk about advancing the MSX platform, to include OPL4 and V9990 in a next 'standard'... ugh.
The vast majority of MSX users would be happy with a modern, compact, affordable replacement for their old boxes. You know, those big, heavy boxes with ~25 year old IC's inside, failing floppy drives, dried up capacitors in their power supplies, etc, etc.
When I'd take such a box, and -in my head- replace chunks of it with more modern parts (and repeat), then I end up with something like the original 1chipMSX. Which happens to be well designed, well built, and runs almost all MSX software I have thrown at it so far (including some MSX2+ software). Admittedly with a few kinks here & there, but nothing major and getting better all the time.
Basically a 'refresh' of that would be fine - FPGA based, MSX2+ compatible including a fast Z80 (preferably R800-like speed or beyond), upgradeable firmware.
If it has cartridge slot(s), then base unit can be kept 'cheap' and small, and the 5 or 10 OPL4 / V9990 users out there (no offense ) can plug their cartridges in and enjoy.
Including a discrete VDP in such a new design would feel like a (big!) step back. Better put that effort in improving such VDP's FPGA implementation.
For those users who swear by an 100% accurate VDP or soundchip(s), no problem if they go for a machine a la Gr8bit. But that's not the way forward to get as many MSX users on board as possible. End-user price, actually building the thing, upgrading, fix design flaws, etc, etc, it all gets more expensive / troublesome with a design that's based on many discrete parts. Like those old boxes that have earned their retirement...
Yes, that is the other thing, the 2+ and TurboR still waiting for software
In scroll games, the 9958 can make a big difference. Software sprites or YUV backgrounds.
My MSX turboR GT has a megaflashrom scc+ with 2 SD slots in slot 1 and a Denyonet networkcard in slot 2. Perfect specifications to be named MSX3. Maybe adding the v9978 VDP, but not necessarily...
@RetroTechie
Tip: Your wishes were already answered. The Zemmix Neo is the perfect machine for you: FPGA based MSX2+, 10MHz Z80, VDP with turbo blitter and VGA-out, upgradable firmware, cartridge slots. :)
You just have to contact fzanoto.
What RetroTechie said, what for example runs my programmers head is:
Does OCM have z80 speed similar to R800? Does it have the TurboR timer (I got vague memory that there is a high speed timer to count cycles?)
For OPL acess timings or such things, when the Turbo z80 is not exactly same speed as R800.
Another thing is the TR bios call to turn turbo on / off, CHGCPU and GETCPU.
When it is not really a TR bios and then the version number is not 3, I have to check presense of the call by the opcodes there, mhm. On bioses up to 2+ there seems to be a 0.
Guys, please let's keep try to keep the thread in focus and the sheer criticism out, ok? There are already many options available for those who just want a modern turbo MSX2+, be it in FPGA or discrete chips.
- One Chip MSX
- Korean Zemmix Neo
- Brazilian Zemmix Neo
- CIEL Expert3 Turbo
- Gr8Bit
And let's not forget the classic options:
- MSX Turbo-R models
- Panasonic MSX2+ machines (they have built-in turbo)
- SuperTurbo3
@hit9918
AFAIK, the upgrade OCM and the Zemmix have the System Timer built-in. CHGCPU/GETCPU would be easy to implement in any MSX2+ turbo.
Yes, you can check if CHGCPU/GETCPU BIOS call is present if there's a C3h at their addresses (opcode for JP). This is mentioned in the R800 programming wiki.
"There are some turbo Z80 kits that implement the CHGCPU/GETCPU routines",
I guess they also put the 9958 to wait pin mode? Or should the app do it?
Not all turbos are built the same. Some have their own form of speed throttling to reduce the CPU speed to avoid overrunning the VDP. On a turbo machine, it will always be a hardware responsibility to assure proper communication with the VDP.
- MSX Turbo-R: The S1990 inserts waitstates on VDP I/O
- Panasonic MSX2+: Not sure yet. It seems that the M60014-0140FP inserts waitstates on I/O to VRAM. But that is just speculation. No proper reverse engineering was done yet.
- SuperTurbo3.0: Reduces the CPU speed to 3.57MHz on any I/O
- Victor HC-95(V), HC-95(A) and HC-90: The HD64180 is configured to insert waitstates on every I/O
- ExpertTurbo & Expert3: The only machines confirmed to use the V9958 /WAIT.
- Victor HC-95(T): It's said to use the V9958 /WAIT, but not confirmed yet.
But let's not steer the thread away anymore from the MSX3 focus, ok? If you have any other doubts about the existing turbo MSXs, please open a specific thread and I'll be glad to be of help.