DIVMMC - where to get 128K ROM

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

DIVMMC - where to get 128K ROM

Post by tomxp411 »

I ordered a DIVMMC to go with the 128K Spectrum I just bought, and I just discovered that 128 BASIC isn't fully compatible with the DIVMMC. Wouldn't you know it, the entire reason I bought the DIVMMC was to trade BASIC programs with the PC. When I try to use 128K BASIC on FUSE with the DIVMMC enabled, it just crashes.

However, digging through the latest release notes of ESXDOS, there is a note that says:
[17/02/2018] Commands: Added .128 command to test 128K mode using Velesoft's "zx128rom-for-divide" ROM (lordcoxis)
However, I can't find this ROM anywhere. I don't really know the Spectrum scene well, so I'm not sure if there are sites or search engines opaque to Google, but I spent way too much time last night looking for this ROM, only to not find it.

Can anyone point me to this ROM?
User avatar
PeterJ
Site Admin
Posts: 6852
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: DIVMMC - where to get 128K ROM

Post by PeterJ »

There appears to be instructions here:

https://www.bytedelight.com/?p=3155

It's worth reading about USR 0 mode here:

https://faqwiki.zxnet.co.uk/wiki/DivIDE
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

Thanks. I looked at that, but there are no real instructions there - just a short YouTube video that shows someone opening the NMI screen from 128 BASIC. I can't even get that far on FUSE, but I suppose I should probably wait until I get the actual DIVMMC before I play with this any more.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

Velesoft has his own website and posts on the forums at World of Spectrum. The most likely place would be in the hardware sub-forum here.
The WoS forums are not scanned by search engines, so will not show up any results in a search engine.

The DIVMMC is an evolution of earlier DivIDE interfaces, which were primarily designed for 48k ZX Spectrums. These did not support 128k BASIC but would work with the 128k machines at a hardware level. So some 128k games would or could be made to work.

The emulation may not be perfect, the actual hardware may react slightly differently.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

Thanks. I didn't even know there were forums at WoS. I've been using that site to read documentation and download emulation products. (I really love Paul Dunn's IDE - I wish he'd continue to develop that.)
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

And here we go...

https://www.worldofspectrum.org/forums/ ... ion/42818/

Velesoft explained the problem, and it makes perfect sense.

The DivIDE (and presumably DivMMC) uses some of the same memory in RAM that the 128K BASIC editor uses. So when you try to execute any commands in 128K BASIC, the system crashes.

His new BASIC ROM excludes the parts of BASIC that the DivIDE uses, so that BASIC and the DivIDE can both be present at the same time. It looks like you have to download and run his patcher, which then saves a new, 32K file out to tape. This is the new, modified ROM image. Since I can't use a single, 32K ROM in FUSE (it only accepts 16K ROM files), I'll just wait until the DIVMMC gets here to try it.

Thanks for your help.
serbalgi
Drutt
Posts: 27
Joined: Sat Jan 06, 2018 11:13 am

Re: DIVMMC - where to get 128K ROM

Post by serbalgi »

tomxp411 wrote: Fri Dec 07, 2018 6:23 pmSince I can't use a single, 32K ROM in FUSE (it only accepts 16K ROM files), I'll just wait until the DIVMMC gets here to try it.
You could use a file splitter (e.g., HJ-Split) to split the ROM in two halves.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

serbalgi wrote: Sun Dec 09, 2018 6:24 am
tomxp411 wrote: Fri Dec 07, 2018 6:23 pmSince I can't use a single, 32K ROM in FUSE (it only accepts 16K ROM files), I'll just wait until the DIVMMC gets here to try it.
You could use a file splitter (e.g., HJ-Split) to split the ROM in two halves.
I was actually considering that; I just realized as I was messing with this that there's really no point: the whole point of using FUSE was to write programs on the PC, and there are better ways to write and test. After discovering BASInc, I don't need a virtual DIVMMC. I can just save out the tokenized BASIC files directly from BASInc.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

To be fair, the 128k BASIC editor is rubbish. In some ways, I prefer the 16k/48k editor, minius the keyword entry system (assuming you are either using an Amstrad machine, a decent third party keyboard, or a emulator on a PC witch a decent keyboard).

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

1024MAK wrote: Sun Dec 09, 2018 4:59 pm To be fair, the 128k BASIC editor is rubbish. In some ways, I prefer the 16k/48k editor, minius the keyword entry system (assuming you are either using an Amstrad machine, a decent third party keyboard, or a emulator on a PC witch a decent keyboard).
To tell you the truth, after using the 128K for a few days, I'm very disillusioned with it. The space bar is awful, and I can't get over the weird key positioning - putting the backspace key where the tab key should be and shifting all the letter keys to the right by one space. So the Spectrum is now just sitting on top of my Altair Clone and probably won't actually get used as anything other than a door stop or the occasional demo.

I suppose if someone was to point out a couple of Spectrum-exclusive games that are worth playing, i'd bust it out for those, but mostly I was interested in how Sinclair BASIC is different than Microsoft BASIC, and BASin is a much more friendly development tool.

When the DIVMMC finally gets here, I'm certainly going to try the instructions above to create a custom ROM that works with the MMC, but really, USR 0 mode is fine for the things I'll be doing with the machine. (And despite its flaws, the Recreated is as good a keyboard as the 128, thanks to the 128's weird design.)
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

The keyboard is actually the same as the ZX Spectrum+, which is an evolution of the rubber key using “technology” developed for the Sinclair QL.

The layout was set before the PC keyboard became common in this country. If you look at the various keyboards on home machines available between 1979 and 1984, they are all different...

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

So after everything, I finally got my DivMMC and my video cable last night. I got everything up and running, and the DivMMC worked for about 20 minutes. Now the screen just shows garbage, and I can't get the computer to successfully start up with a card in the slot.

I've run through all the likely troubleshooting steps, even attempted to re-flash the DiVMMC's ROM (it says "DIVIDE Failure" when I run the flasher.) So I've contacted TFW8B to see what they can do for me.
User avatar
stupidget
Dynamite Dan
Posts: 1611
Joined: Wed Jan 24, 2018 2:09 pm
Location: Sunny Wolverhampton

Re: DIVMMC - where to get 128K ROM

Post by stupidget »

I have a board only DivMMC and its prone to not working if i knock it slightly. I have to prop mine up with an old tape and sometimes i have to remove the sd card and reinsert it.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

Tim at TFW8B suggested that the Z80's M1 line may be faulty, which can prevent it from working with the DIVMMC, even though the system works fine otherwise, without a cartridge.

I'm kind of stuck, since I don't have another Spectrum to test with, and I can't find another compatible computer for sale in the US.

So I'm probably going to try replacing the CPU (I need to see if it's socketed.) If that doesn't work, then I'm just going to call this computer a paperweight and put it on a shelf.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: DIVMMC - where to get 128K ROM

Post by Ast A. Moore »

tomxp411 wrote: Wed Dec 12, 2018 7:11 pm I'm just going to call this computer a paperweight and put it on a shelf.
What were you going to use it for, to begin with? You can still transfer programs the old-fashioned way.

Re the M1 line: It might be the problem, but why would the machine work fine for twenty minutes?
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

You can still transfer programs the old-fashioned way.
That would be loading a TAP file on the PC and hooking my sound card up to the tape input, right? The purpose of the DivMMC is so I don't have to do that.
Re the M1 line: It might be the problem, but why would the machine work fine for twenty minutes?
I don't know, either. What Tim told me certainly lines up with other information out there, but without the hardware to test the CPU and no replacement for either the computer or the cartridge to swap out, I'm basically stuck. I can try another $10 CPU to see if that's the problem, or I can ship the DivMMC back to England. I don't have a third option, unless I find another, closer ZX to test this thing with.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

This brings me to the next question. Looking online, I found a Z80 CPU at DigiKey:

https://www.digikey.com/products/en/int ... ageSize=25


These all look like different speeds versions of the same part. Are these all pin compatible with the Z80 the Spectrum 128K +2 ships with? Is there any reason to choose a specific part over another? I'm inclined to grab the 20MHz version, just to have the confidence I've gotten the best quality part I can get.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

The CPU that is fitted, if an original part, will be a NMOS type rated at4MHz. NOTE there are versions by manufacturers other than Zilog. Zilog’s orginal part number for the 4MHz version was simply Z80A CPU.

Any CMOS version should work. However, there is no advantage in buying one with a higher speed rating, as the clock speed is set by the ULA.

The most common CMOS versions that are available new are:
  • Z84C0006PEG 6MHz
  • Z84C0008PEG 8MHz
  • Z84C0010PEG 10MHz
I normally use Mouser as I live in the U.K.
They currently have any of the above at $5.38 / £4.09 excluding tax and postage/shipping.

There is a lot of folklore surrounding the M1 line/pin. It’s purpose is for the CPU to signal that it is executing the first part of an instruction op code. In most Z80 systems, this line/pin is not used. Hence it is not used internally on any ZX Spectrum. On the expansion edge connector, a power supply line is right next to it. So my thoughts are that it is much more likely that the Z80 CPUs M1 line/pin suffers damage from mis-use of the expansion port rather than Zilog suppling partly defective parts.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

1024MAK wrote: Wed Dec 12, 2018 10:15 pm The CPU that is fitted, if an original part, will be a NMOS type rated at4MHz. NOTE there are versions by manufacturers other than Zilog. Zilog’s orginal part number for the 4MHz version was simply Z80A CPU.

Any CMOS version should work. However, there is no advantage in buying one with a higher speed rating, as the clock speed is set by the ULA.
Thanks. That's about what I expected to hear. It seems like, for the <$10 (including shipping), it's a low-risk test.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: DIVMMC - where to get 128K ROM

Post by Ast A. Moore »

tomxp411 wrote: Wed Dec 12, 2018 9:02 pm
You can still transfer programs the old-fashioned way.
That would be loading a TAP file on the PC and hooking my sound card up to the tape input, right? The purpose of the DivMMC is so I don't have to do that.
Sure, I understand that. But what’s the point of having a Spectrum, and why would you shelve it if it didn’t play ball with the DivMMC? I mean, I have a couple of Spectrums and no DivMMC or any other SD-card interface for them.
tomxp411 wrote: Wed Dec 12, 2018 9:11 pm Are these all pin compatible with the Z80 the Spectrum 128K +2 ships with? Is there any reason to choose a specific part over another? I'm inclined to grab the 20MHz version, just to have the confidence I've gotten the best quality part I can get.
These are likely CMOS Z80s. Most (all?) original Spectrums came with an NMOS Z80 cpu. If I were you, I’d get the 6 MHz version, or even look online for an old-sock NMOS 4 MHz one. There’s no advantage of getting a higher-clock CPU here.

A 4 MHz NMOS Z80 from Zilog is usually marked Z8400APS, sometimes Z8400A PS (with a space).

You can test if your computer has an NMOS or CMOS Z80 by running this little program:

Code: Select all

10 LET a=4e4
20 READ b: POKE a,b: LET a=a+1
30 GO TO 20
40 DATA 243,1,254,0,237,113,237,120,24,247
After it ends with an “E Out of DATA” message, type usr4e4 and press Enter.

If the border turns black, your Spectrum has an NMOS Z80; if it remains white, then it’s a CMOS one. My bet it’s the former.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

Ast A. Moore wrote: Wed Dec 12, 2018 10:44 pm
tomxp411 wrote: Wed Dec 12, 2018 9:02 pm That would be loading a TAP file on the PC and hooking my sound card up to the tape input, right? The purpose of the DivMMC is so I don't have to do that.
Sure, I understand that. But what’s the point of having a Spectrum, and why would you shelve it if it didn’t play ball with the DivMMC? I mean, I have a couple of Spectrums and no DivMMC or any other SD-card interface for them.

I may like the look of the hardware, but that doesn't mean I want to fiddle with cassettes and audio cables. That was NOT a fun part of owning an 80s 8-bit.
tomxp411 wrote: Wed Dec 12, 2018 9:11 pm Are these all pin compatible with the Z80 the Spectrum 128K +2 ships with? Is there any reason to choose a specific part over another? I'm inclined to grab the 20MHz version, just to have the confidence I've gotten the best quality part I can get.
These are likely CMOS Z80s. Most (all?) original Spectrums came with an NMOS Z80 cpu. If I were you, I’d get the 6 MHz version, or even look online for an old-sock NMOS 4 MHz one. There’s no advantage of getting a higher-clock CPU here.
Thanks for the tip on the test program. I'll give that a shot when I get home.

The thing is, the 6,8, and 10MHz chips are all the same price, and the 20MHz chip is only $3 more. So unless there's a good reason the better rated chip *won't* work, I intend to buy that. Typcically, there's no architectural difference between the slower and faster rated chips; the slower ones are just chips that didn't pass when tested at higher speeds.


What worries me is that there might be some electrical difference... can I just drop a CMOS CPU into a socket formerly occupied by an NMOS version?
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

For reference, the CPU is a Z0840004PSC.
That is an NMOS CPU, according the documentation I've found so far.

Data sheet here:
https://www.datasheets360.com/part/deta ... 876896220/

I ordered a Z84C0010PEG‎ from DigiKey:
https://www.digikey.com/products/en?key ... G%E2%80%8E

We'll see how this goes.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

tomxp411 wrote: Thu Dec 13, 2018 1:30 amWhat worries me is that there might be some electrical difference... can I just drop a CMOS CPU into a socket formerly occupied by an NMOS version?
Most ZX Spectrums will run okay with a 6 or 8MHz CMOS Z80. I don’t know if anyone has tried a 10MHz or a 20MHz rated CMOS Z80.

The reason for the caveat is that Sinclair uses resistors to separate the data bus into two sections (does not apply to the black +2A, +2B, +3 or +3B Amstrad machines). Occasionally the different impedance of different chips means that these resistors need changing for a different value.

With some chip designs, some faster rated parts have a quicker output translation time - their edges have quicker rise/fall times. There is a possibility that this may cause problems.

See also http://www.cpu-world.com/CPUs/Z80/index.html and http://www.cpu-world.com/CPUs/Z80/MANUF-Zilog.html

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
User avatar
1024MAK
Bugaboo
Posts: 3104
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: DIVMMC - where to get 128K ROM

Post by 1024MAK »

:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
tomxp411
Drutt
Posts: 19
Joined: Sun Dec 02, 2018 8:08 am

Re: DIVMMC - where to get 128K ROM

Post by tomxp411 »

1024MAK wrote: Thu Dec 13, 2018 4:57 am
tomxp411 wrote: Thu Dec 13, 2018 1:30 amWhat worries me is that there might be some electrical difference... can I just drop a CMOS CPU into a socket formerly occupied by an NMOS version?
Most ZX Spectrums will run okay with a 6 or 8MHz CMOS Z80. I don’t know if anyone has tried a 10MHz or a 20MHz rated CMOS Z80.

The reason for the caveat is that Sinclair uses resistors to separate the data bus into two sections (does not apply to the black +2A, +2B, +3 or +3B Amstrad machines). Occasionally the different impedance of different chips means that these resistors need changing for a different value.
Thanks. That's the kind of information I was looking for. I could see a quicker rise/fall time being an issue, but since I've already ordered the chip, I'll have to just try it and see what happens. I should know in a week or so if that's the problem.
Post Reply