Any interest in a DIY MSX hardware group

Página 2/7
1 | | 3 | 4 | 5 | 6 | 7

Por syn

Prophet (2086)

Imagen del syn

24-07-2015, 12:49

Turbo r already does something like this by swapping to z80 (3.58mhz) mode instead of r800 (7.16 MHz)

Por Grauw

Ascended (10306)

Imagen del Grauw

24-07-2015, 13:21

megatron wrote:

The access speed problem could be quite easily overcome in a NEW design by slowing the clock speed down to 3.58MHz when a I/O instruction is made thus the CPU would run at 3.58MHz or 7.16MHz but all I/O would be a 3.58MHz. This would obviously be quite difficult to do on an existing MSX design. I've seen this type of thing done on 6502/6809 CPU and isn't as difficult as it sounds.

That’s what a lot of 7MHz circuits do. You can also just slow down on I/O to ports 98H-9BH. Most 7MHz circuits don’t use the V9958 wait pin, only Ciel’s does I think.

MSX turboR has a separated bus speed of 3.58 MHz and slows down to bus speed on I/O in R800 mode, and even more on VDP I/O. Despite that though it’s not enough for compatibility, so they have a Z80 mode as well. The Panasonic WX and WSX MSX2+ computers also have a turbo mode @ 5.37 MHz. (Neither of those uses the V9958 wait pin either btw.)

Anyway, I don’t know if you’re familiar with 7MHz circuits on MSX, but isn’t this mostly a solved problem? The only downside to existing 7MHz circuits is how they affect sound. A bottom-up MSX design should probably have a separated 3.58MHz bus speed, like the turboR does, that would avoid the sound issue... But then you lose the speed advantage when running from external memory, most of which can deal with 7MHz just fine. Guess it’s best to combine with a 4 MB internal mapper upgrade so that the MSX never selects the external memory Smile.

What I do not like about most existing 7MHz circuits is that they often work by temporarily lowering the clock speed of the Z80. Using the wait pin in stead, it would still affect sound however it will just be an octave higher and not distort all the time, which might be just about bearable.

Por Lord_Zett

Paladin (807)

Imagen del Lord_Zett

24-07-2015, 14:07

why not a fifo buffer that runs ad 3,58MHz

place it in front of the vdp and sound stuff

Por tvalenca

Paladin (747)

Imagen del tvalenca

24-07-2015, 19:42

Grauw wrote:
megatron wrote:

The access speed problem could be quite easily overcome in a NEW design by slowing the clock speed down to 3.58MHz when a I/O instruction is made thus the CPU would run at 3.58MHz or 7.16MHz but all I/O would be a 3.58MHz. This would obviously be quite difficult to do on an existing MSX design. I've seen this type of thing done on 6502/6809 CPU and isn't as difficult as it sounds.

That’s what a lot of 7MHz circuits do. You can also just slow down on I/O to ports 98H-9BH. Most 7MHz circuits don’t use the V9958 wait pin, only Ciel’s does I think.

MSX turboR has a separated bus speed of 3.58 MHz and slows down to bus speed on I/O in R800 mode, and even more on VDP I/O. Despite that though it’s not enough for compatibility, so they have a Z80 mode as well. The Panasonic WX and WSX MSX2+ computers also have a turbo mode @ 5.37 MHz. (Neither of those uses the V9958 wait pin either btw.)

Hey, look what I found: http://green.ap.teacup.com/junker/172.html
This page has a legible schematic of the Panasonic FS-A1WX. And it uses V9958 wait pin.
(this website also contains the FS-A1 schematic)

Grauw wrote:

Anyway, I don’t know if you’re familiar with 7MHz circuits on MSX, but isn’t this mostly a solved problem? The only downside to existing 7MHz circuits is how they affect sound. A bottom-up MSX design should probably have a separated 3.58MHz bus speed, like the turboR does, that would avoid the sound issue... But then you lose the speed advantage when running from external memory, most of which can deal with 7MHz just fine. Guess it’s best to combine with a 4 MB internal mapper upgrade so that the MSX never selects the external memory :).

The turbo kits only affect sound because the sound subsystem was designed around a 3.57MHz bus clock. If you're going do speed up the processor on those machines, you can't touch bus clock. Worse: if you intend to use it with external DRAM cartridges (External SIMM Memory Mapper or older MegaRAMs for example) you have to sync a 3.57MHz bus clock with the Z80 Accelerated clock for memory refresh reasons. (the MSX standard says that the clock signal on slot is the CPU Clock and is meant for external DRAM expansions). Worser: external sound cartridges (like the FM-PAC) are not supposed to touch that pin! They have to have it's own oscillator for sound generating purposes...

About the turbo kit plus the memory upgrade, I'd go that way too. Also because no MSX motherboard layout was designed for higher speeds than 3.57MHz, so you'll never know how much faster you can go on that that particular machine.

Grauw wrote:

What I do not like about most existing 7MHz circuits is that they often work by temporarily lowering the clock speed of the Z80. Using the wait pin in stead, it would still affect sound however it will just be an octave higher and not distort all the time, which might be just about bearable.

If you not garantee the bus clock is constant, you will hear glitchy sounds coming from PSG and YM2413. But if you run over them, you would lose notes and get different sounds. Pity most MSX hardware warn when they're not ready, like the V9958 do (hey YM2413 and AY-3-8910, I'm talking about you, lazy ass b**es!). Worse: The PSG sound generator section is a 2MHz rated part, so you have a clock divider (a flip flop) to keep the sound generation clock within specification. Lets say you double the bus clock, so where PSG was expecting a 2MHz max clock rate, will be a 3.57MHz clock. I think YM2413 has the same kind of limitation. That's why you can't mess with bus clock.

And, a octave up sound is A LOT different to the ears. we're talking about a +12 step transpose.

Por Grauw

Ascended (10306)

Imagen del Grauw

24-07-2015, 20:06

tvalenca wrote:

Hey, look what I found: http://green.ap.teacup.com/junker/172.html
This page has a legible schematic of the Panasonic FS-A1WX. And it uses V9958 wait pin.
(this website also contains the FS-A1 schematic)

It says NC next to that pin… I think either the interpretation of the schematic or the schematic is wrong, because from what I have read in WX/WSX emulation discussions, it does not use it. I don’t have a WX/WSX myself to confirm it though.

tvalenca wrote:

Lets say you double the bus clock, so where PSG was expecting a 2MHz max clock rate, will be a 3.57MHz clock. I think YM2413 has the same kind of limitation. That's why you can't mess with bus clock.

It’s outside of operating specification, but it may still work… I don’t think it does much harm to the ICs, as 7 MHz circuits were quite prevalent in the 90s and I never heard of a blown PSG / FM-PAC because of it… And yeah, an octave higher isn’t great, but better than the noisy sound you get from constant frequency switching, is what I meant to say :).

Por tvalenca

Paladin (747)

Imagen del tvalenca

24-07-2015, 20:14

Grauw wrote:
tvalenca wrote:

Hey, look what I found: http://green.ap.teacup.com/junker/172.html
This page has a legible schematic of the Panasonic FS-A1WX. And it uses V9958 wait pin.
(this website also contains the FS-A1 schematic)

It says NC next to that pin… I think either the interpretation of the schematic or the schematic is wrong, because from what I have read in WX/WSX emulation discussions, it does not use it. I don’t have a WX/WSX myself to confirm it though.

Oh, sorry. I forgot that diode isn't installed. And I personally own a A1WX! My mistake!

Grauw wrote:
tvalenca wrote:

Lets say you double the bus clock, so where PSG was expecting a 2MHz max clock rate, will be a 3.57MHz clock. I think YM2413 has the same kind of limitation. That's why you can't mess with bus clock.

It’s outside of operating specification, but it may still work… I don’t think it does much harm to the ICs, as 7 MHz circuits were quite prevalent in the 90s and I never heard of a blown PSG / FM-PAC because of it… And yeah, an octave higher isn’t great, but better than the noisy sound you get from constant frequency switching, is what I meant to say :).

Agreed. Not great, but not worse than varying. Actually, the Panasonic A1WX and A1WSX has that pitch-changing-when-in-turbo-mode issue, if I'm not mistaken.

Por Grauw

Ascended (10306)

Imagen del Grauw

17-09-2020, 22:49

Yeah it does. Daemos shifts the frequency table of music replayer by 6 notes to compensate for it, while turbo mode is enabled Smile. Only the PSG though iirc, probably because it’s integrated in the MSX-ENGINE so they weren’t able to feed it a separate clock.

Por Dirty Harry

Resident (45)

Imagen del Dirty Harry

25-07-2015, 10:52

Basic tools you'll need to start homebrew messing around.

Low Cost Multimeter
Breadboard
Cutters/Snipers and other basic tools
Power Supply (Ideally Bench) but 5V or 9V might do.
Soldering iron
etc

Optional:
Bench power Supply
Oscilloscope
Data-analyser
etc

The Best place to get Snipers/Pliers, wire cutters etc are places like the pounds shop or other cheapy stores. I got a perfectly good soldering iron from a cheapy shop for £2.95 !

You can get some good low cost Multimeters now, just look on ebay etc.

The ICs you can get from:

ebay.com (obviously)
Mouser
Digikey
Farnell
RS Components
etc etc

Por lezanderson

Resident (36)

Imagen del lezanderson

25-07-2015, 11:00

Don't forget you'll need an EPROM programmer (Universal Programmer) and a CPLD programmer.

There's lots of inexpensive Universal Programmers out there.. either NEW or second hand. A lot of people use things like the G540 USB programmer which are cheap and work on Windows.

http://www.ebay.com/itm/G540-USB-Universal-EPROM-FLASH-GAL-A...

A USB Blaster Cable will be needed to program Altera MAX CPLDs

http://www.ebay.com/itm/altera-Mini-Usb-Blaster-Cable-For-CP...

http://www.ebay.com/itm/altera-Mini-Usb-Blaster-Cable-For-CP...

Por Xenophon

Supporter (11)

Imagen del Xenophon

25-07-2015, 11:09

I've already got some tools so as soon as I order the ICs I can start to breadboard. The most complex part looks like the video circuit but I've already spotted several V9958/V9938 schematics I can modify to my needs.

I'll use the EPM7032SLC44 to switch memory (RAM/ROM) in/out in 16K pages using simple boolean equations, as the EPM7032SLC can be reprogrammed and programmed in circuit this should not be too difficult.

I'll probably use an EPM7128SLC as the glue circuit for I/O decoding etc

An ATmega88 (or similar micro-controller) to read a PS/2 keyboard & mouse

I'll need to read-up on the MSX technical data before I start in earnest.

Página 2/7
1 | | 3 | 4 | 5 | 6 | 7