20Mhz ZX81 clone...

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

20Mhz ZX81 clone...

Post by Andy Rea »

It's working... Sort of... some more tests to run and some rom patching required ( SirMorris :D )

the work in progress so far...

Image

Slight problem... to load from SD card from powerup i need the ZXpand rom... Which doesn't have a character map :shock: So i have a small auto-load program (need to hold shift) that loads the ZX81 rom to page 0, and the ZXpand rom to page 1, then switches to use ram instead of rom... This works ok-ish...

:P
So I presume that a latch/register is used to control the bank switching. Is this part of the "40MHz" ULA or separate? If separate, which type are you using? And at what I/O address is it at?
I also presume that on power-up, a slower clock rate is active and the ROM is selected. Code then copies the ROM code to the RAM bank that can (after the copy completes) be switched in to the 0k to 8k of the memory map. Then presumably, a write is made to a memory address and the Zeddy then runs at 20MHz... 8-)

Well, I have an issue one PCB, a 20MHz Z80 and a fast SRAM chip (and lots of wire and solder...). So as Paul says, "You quote a price. When will it be ready?"

Mark
the switching is controled by several register on memory address 16,17,18 (write only) yes at power-up/reset all registers are reset so slow clock, use rom, and all pages point to page 0.

Andy
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: 20Mhz ZX81 clone...

Post by sirmorris »

Hmm, it may be necessary to start polling a busy bit as I think all the timings in the ROM may be invalid at that speed :D
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: 20Mhz ZX81 clone...

Post by Andy Rea »

sirmorris wrote:Hmm, it may be necessary to start polling a busy bit as I think all the timings in the ROM may be invalid at that speed :D
Have no fear, whenever a IO on port 7 is detected turbo is tempararily cancelled, in a similar fashion to load/save tape operations...

Andy
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: 20Mhz ZX81 clone...

Post by sirmorris »

AWESOME!
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: 20Mhz ZX81 clone...

Post by 1024MAK »

sirmorris wrote:AWESOME!
Err, speechless ('cus I can't think of anything that out does awesome {not at this time of night anyway :mrgreen: })

@ Andy:- keep at it 8-) :D

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: 20Mhz ZX81 clone...

Post by Andy Rea »

With the support of the Mighty SirMorris, i've ironed a few of the quirks, switched around the autoboot, so holding down shift now STOPS the autoboot, this is required so that on initial power-up the rom images can be loaded to RAM without having to hold down shift, the defualt "MENU.P" for auto loading has been changed to "BOOT.P" it's entirely possible to modify the "BOOT.P" program to then load another MENU after it's done it's thing.

Also the LOAD "filename;X" has been tweaked so that page 0 (ZX81ROM) is selected imediatly after the load.

So now i'm thinking the AY chip... should i have a second stereo jack, exclusively for AY, and keep the exsisting MIC for saving to tape ? or have a stereo jack where the mic socket goes and have AY-mono on 1 pole (just like the real ZON-X) and MIC on the other ? or do away with the Save to tape altogether and just have Stereo AY....

decisions decisions.

I'd Also like to extend my greatest Thanks to SirMorris, it is quite possible that without his excellent contributions to the ZX81 world, none of us let alone myself would be having so much fun with our beloved Zeddies.

Regards Andy
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: 20Mhz ZX81 clone...

Post by sirmorris »

<waves hand> awww shucks ;)

Personally I think either have the port software switchable or ditch it. Or something :D
User avatar
1024MAK
Posts: 5118
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: 20Mhz ZX81 clone...

Post by 1024MAK »

Andy Rea wrote:So now i'm thinking the AY chip... should i have a second stereo jack, exclusively for AY, and keep the exsisting MIC for saving to tape ? or have a stereo jack where the mic socket goes and have AY-mono on 1 pole (just like the real ZON-X) and MIC on the other ? or do away with the Save to tape altogether and just have Stereo AY....
Is the idea that it will fit in a Zeddy case then?
If so, I suggest two stereo 3.5mm jack sockets. One (tape in/out) has "ear" on one channel with "mic" on the other. The second socket has the AY chip output. Via a couple of jumper shunts, the user can select mono (via both channels) or so called stereo.

Note that my personal preference regarding the 9V dc input power socket, is to ditch the 3.5mm jack plug and use a 2.1mm power socket instead.

Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
User avatar
RetroTechie
Posts: 379
Joined: Tue Nov 01, 2011 12:16 am
Location: Hengelo, NL
Contact:

Re: 20Mhz ZX81 clone...

Post by RetroTechie »

Very, very, very COOL !! :ugeek:

Btw: for turbo projects on the MSX, strategy was always the same: upon any I/O access (Z80 /IORQ signal active), speed back ASAP from turbo -> standard speed, and reset a timer (which goes up to around 84 clock cycles). When re-triggered by more I/O, timer is reset and machine stays at standard speed. When timer expires, back to turbo again.

That 84 clock cycle number (@ 3.58 MHz) is derived from several audio chips (YM2413, Y8950) that need delay between register selection, and writes or reads of data to those registers. Ignore, and music output gets corrupted. Same for the MSX videochip, which can do with much shorter delays, but that 84 cycle delay isn't important for overall speed when running on turbo. Of course with a ZX81 @ 3.25 MHz and at most an AY chip to worry about, that delay could be a lot less.

This setup is easy to implement, and easy to use: memory (of any kind) can run @ full speed, if you have something (like a sound chip) that can only be accessed reliably on ZX81 standard speed, put it on an I/O port.

Not saying that this would be the best strategy to switch turbo <-> normal speed, as on a ZX81 there are much fewer variables to worry about. :) But it might work well for a ZX81 as more peripherals are added (and you want everything to still work, even with turbo enabled).

Optimal would be full speed continously, but there are downsides to that as well...
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: 20Mhz ZX81 clone...

Post by Andy Rea »

Hi Retro Techie, thanks for the information, as it happens this is exactly what i was thinking about just now, i'm planning on inplementing extra Wait states during IO operations, this should have minimal effect on everything else but still allow the Slow AY chip to function properly.

I'm also trying to figure out how to implement Wilf's Why wait circuit http://www.user.dccnet.com/wrigter/inde ... 81WAIT.htm in logic, i'm going to need another register of course... and when this is done it will need to be combined with the extra wait states for IO operations.

Regards Andy
what's that Smell.... smells like fresh flux and solder fumes...
Post Reply