ZXmore or the ZX80CORE follow-up

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Update V1.7

Post by PokeMon »

So there is an update available for ZXmaster (control software of ZXmore).

You can download the release 1.7 from following link:
http://www.ginger-electronic.com/Downlo ... master.zip

Unfortunately the Basic/Assembly Utility to update the internal flash rom via software could not be completed today. It is harder than thought first as the configuration of latches is difficult depending on load addresses and address ranges. The flash requires access to addresses >$5000 for the flash rom and some data is at addresses below $6000 and you have to keep an eye at stackpointer, too. This needs quite much testing and more development time than thought.

As this program is required for all users without eprom programmers (which shouldn't be a must) it has to be completed anyway and I will publish it in beginning of january. Whoever owns an eprommer/programmer and is able to program flash roms of type SST39SF040 could update to release 1.7 immediately. I would be interested in some early adaptors to get some feedback on this release. In general this release is quite good tested over months and should be very stable.

There will be another update around mid of january with release 1.9 which supports save on USB, support of subdirectories, individual configuration of instances and support of ZX Spectrum with a monochrome video driver as well. And CP/M should be expected in february - latest till "Mahlerts" in march 2016.

The zip contains a changelog about changes and new features.
Here a brief description:

=> The new version is faster during single NMI Mode and reaches 271% speed of a usual ZX81 (can be proved with the well known CLCKFREQ.p)

=> 128 chars with upper/lower case, internally in ascii format (not helpful for ZX81 sessions but for CP/M), the loader accepts now all allowed chars in filenames but still restricted to 8.3 naming convention (no LFN support) and still no support of subdirectories

=> reset mechanism changed, after reset last running instance (usually crashed) is automatically restarted when choosen, a coldstart can be forced while pressing SHIFT key during powerup

=> a debug monitor is integrated (shift-shift-D) which allows view of RAM of all instances, quite helpful during debugging

=> the loader was updated and some bugs removes. The loader could hang in some strange situations which could be solved with powerup only - now possible to reset the USB chip (restart communcation) with empty filename (just NEWLINE). The loader has now the option to load data into user choosen location (addresses) of any instance. An instance can be run standalone (without control through ZXmaster) when adding a "!" (shift-1) at the end of a filename (after the "p").

=> The loader is able to program the flash rom with programming drivers directly into flash, usually in address area 8192 - 16383. Due to technical reasons always a full sector is erased even if only a few 100 bytes have to be programmed while the sector size is $1000 or 4096 decimal. Overwriting of smaller areas in flash will be available in some future release, not supported now. The test function for the USB interface loads now data directly at address $8000 in instance 0 which can be checked after with the debug monitor

Most features are selfexplaining or are explained onscreen. In doubt just try on your own. You should avoid testing flash programming of instance 0 but if you have an eprom programmer you can easily restore instance 0 ;-)

The zip contains a 512k ZXM-DATA.BIN which contains following configuration of instances:
0 = ZXmaster
1 = ZX81 with 56k RAM ($2000-$FFFF) with 6.5 MHz
2 = ZX81 with 56k RAM ($2000-$FFFF) with 6.5 MHz
3 = ZX81 with 48k RAM ($4000-$FFFF) with 6.5 MHz
4 = ZX81 with 48k RAM ($4000-$FFFF) with 6.5 MHz
5 = ZX81 with 32k RAM ($2000-$9FFF) with 3.25 MHz
6 = ZX81 with 32k RAM ($2000-$9FFF) with 3.25 MHz
7 = ZX80
I did choose some useful default configurations depending on instance used - so you could use the most propriate configuration as needed. Instance 5 and 6 are preconfigured for use of ZeddyNet (IPCONFIG.p and IRCANS32.p) and give best compatibility for most programs.

Important note:
Default BaseAddr (IO) has been changed now from A7 to A3 and has to be changed at the jumper near the expansion port. This was choosen for less hardware conflicts and has been tested now with ZeddyNet, the PIO card of the german team and should work with ZONX cards (hopefully). And be sure to have a 47pF capacitor soldered between pin 27 and 29 of CPU as described earlier here - this is an important hardware hack.

So - volunteers ab and a merry christmas and happy new year to all.
I am back in beginning of january here.
8-)
tkempkes
Posts: 4
Joined: Sat Oct 31, 2015 11:13 pm

Re: ZXmore or the ZX80CORE follow-up

Post by tkempkes »

Hi Karl,

I was able to program the 1.7 release onto the flash memory. One of the capacitors was preventing me from inserting a chip removal tool, so I took it out and soldered it to the underside of the board. I also added the 47pF capacitor you described a few posts ago.

When I turn the unit on, the video will not sync properly and I get a rolling image. I'm able to see that the control software is reporting version 1.7, but it's hard to read anything else. I'm using a fairly old CRT with the ZXMore configured for NTSC video. The problem exists with the ZXmaster and ZX81 instances (0-6); the ZX80 instance (7) works fine. I did not have these issues with the previous software.

Do you have any ideas of what I could try to fix it?

Thanks,

Tom
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

Hi Tom,
I didn't check/implement the NTSC option properly in this version, thanks for this hint.
If you try to select instance 1-6 and press shift-shift-c the picture should be stable, isn't it ?
It should even work when selecting FAST mode in one of the ZX81 sessions.
The ZX80 has only FAST mode, that's why the picture is stable as soon as you select it.
I will fix it soon.

Karl
tkempkes
Posts: 4
Joined: Sat Oct 31, 2015 11:13 pm

Re: ZXmore or the ZX80CORE follow-up

Post by tkempkes »

Ah! That explains it. Yes, the DS-C does stabilize the image as you expected, though this doesn't work for the control instance.

Anyway, I'm glad to hear that the problem isn't really a problem at all. I look forward to playing around with the final version.

Thanks!
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

So - the loader program for the ZXmore (for updating ZXmaster) ist finished now.
It is a BASIC program with assembly parts named "ZXMore17.p" and can be copied onto an usb flash medium and loaded in any ZX81 instance called from ZXmaster with DS-1 for example. To avoid repeating I advise to read the updated manual available in the zip archive which can be downloaded using the following link.

http://www.ginger-electronic.com/Downlo ... terV17.zip

There is an emergency update mode available as well to recover an accidently crashed ZXmaster instance (0) as long as there is at least one running ZX81 instance available which can be selected using the rom switch. I whish good luck updating your ZXmore and please remember the 47pF capacitor needed for this update and remember to change the io base address after update completed. But all is describe on screen in the update utility as well as in the updated operation manual provided in the zip archive.

Here the default instance parameters in this version:

Code: Select all

0 = ZXmaster
1 = ZX81 with 56k RAM ($2000-$FFFF) with 6.5 MHz
2 = ZX81 with 56k RAM ($2000-$FFFF) with 6.5 MHz
3 = ZX81 with 48k RAM ($4000-$FFFF) with 6.5 MHz
4 = ZX81 with 48k RAM ($4000-$FFFF) with 6.5 MHz
5 = ZX81 with 32k RAM ($2000-$9FFF) with 3.25 MHz
6 = ZX81 with 32k RAM ($2000-$9FFF) with 3.25 MHz
7 = ZX80
This version is not yet changed for NTSC support - please await next release in about one week I hope.
pablo9
Posts: 5
Joined: Fri Jan 15, 2016 11:26 pm

Re: ZXmore or the ZX80CORE follow-up

Post by pablo9 »

Just tried the ZXMORE17.p update. Added the 47pf and followed the instructions in the user guide. All went well. However, I now get these faint grey vertical lines in the ZXMaster instance (which I never had before the update). They only appear in the ZXMaster instance. They don't appear in instance 1,2, 3 etc.
Attachments
IMG_0327.jpg
IMG_0327.jpg (22.01 KiB) Viewed 4113 times
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

This is strange - could you upload a higher resolution picture (up to 800 pixels width would go here I think) or maybe somewhere else and put a link to it and please from the complete screen ?

What kind/type of display do you use and could you maybe try a second display ?
Just to show if there would be a difference.
Nobody else reported this who did a successful update.

It is strange that the stripes do appear only when characters printed but not on space lines.
pablo9
Posts: 5
Joined: Fri Jan 15, 2016 11:26 pm

Re: ZXmore or the ZX80CORE follow-up

Post by pablo9 »

So here's the whole screen. It's an old Dell 2001FP which I've used for ZXMORE in the past. Just looking at the photo again, it's interesting that the faint grey lines don't appear around all characters (eg. the numbers don't seem to have them, nor do the punctuation chars). It's not something to do with the changes for the upper/lowercase support?
Attachments
IMG_0325_2.jpg
(173.55 KiB) Downloaded 335 times
pablo9
Posts: 5
Joined: Fri Jan 15, 2016 11:26 pm

Re: ZXmore or the ZX80CORE follow-up

Post by pablo9 »

I had a go at hooking up my logic analyser to the output of the 165 shift register (VIDP1 on your schematic) thinking there is probably some glitch occurring. I tried sampling at 100MHz and I see these regular spikes on the instance 0 screen. I guess 1.23us would be the char width at 6.5MHz
Screen Shot 2016-01-16 at 8.33.25 pm.png
(41.59 KiB) Downloaded 327 times
If I zoom in it reckons the glitches are 10 or 20ns wide (but thats close to the limit of my 100MHz sample rate so I am not sure I believe that). For comparison, I looked at instance 1 (where I don't see the vertical lines), and I get a nice clean output with no spikes (this is the top line of pixels for the word PRINT)
Screen Shot 2016-01-16 at 8.27.38 pm.png
Screen Shot 2016-01-16 at 8.27.38 pm.png (30.53 KiB) Viewed 4085 times
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore or the ZX80CORE follow-up

Post by PokeMon »

Hmmm I think this is an video issue and mainly shown when using upper and lower chars mixed.
This should be seen in ZX81 instances as well when using inverted chars. The lower chars and some special chars are displayed as inverted chars due to some technical reasons and the character pattern is stored inverted - so you would see it as inverted char inverted which is just normal. The reason is, that the video circuit inverts chars automatically when reaching the 64 char limit.

Could you check out the attached "benchmark" program from Carlo Delhez, stopping the graphic line pattern when nearly finished and take a look at the big "pixels" if there appear some noses on the chars ? I would guess that.

As you did get a full kit from me there shouldn't be an issue with wrong components but just to be sure can you check following details:
IC21=74AC86
IC19=74AHCT74
IC9=74AHCT126
IC8=74AHTC08
These IC's are chosen as advanced type due to timing requirements.

Could you check further following details on the board:

IC15 pin 2 has a serious resistor (SMD) on solder side of 2k2 - this can be measured between the pin and the via in the near and please measure it with a multimeter as it could be that the underlined track was not cutted properly and the resistor has no effect.

IC15 pin 1 was connected with a small wire and two cutted tracks. So following rules should be met:
IC15 pin 1 connected to IC26 pin 11 (CPLD) - here is picture shown as seen from solder side (vice versa)
http://www.digital-circuitry.com/IMAGES ... ket_01.png
IC15 pin 1 disconnected from IC22 pin 19
IC15 pin 1 disconnected from IC7 pin 11

Normally I do these changes and proof before shipment is done but could not be 100% sure that this has been missed partly when shipping was done. The changes have to to with timing requirements which didn't show up during hardware development but later when using the CLCKFREQ.P and this hardware modification did a good job to kill these lines.

This maybe an issue with the 47pF capacitor as well. So if you see the "noses" on the graphic line pattern from CLCKFREQ.P you could checkup by testing if they disappear when you remove this capacitor and start the ZX81 instance directly with a switch. The ZXmaster would not run without this capacitor now but with hardware switching you could proof this, too.

Instead of loading the program you could use a small BASIC program like following:

Code: Select all

10 PRINT CHR$ 135;" ";
20 GOTO 10

which should show the "nosy" character as well alternately with a normal space character.

There is a new CPLD available which doesn't require the 47pF capacitor anymore and has two new other features. I will report later about it.
Good luck !

Karl

Strange - couldn't add Z80 executables here for security issues (.p files). Is that phpBB forum running on Z80 hardware ? :mrgreen:
Attachments
ClckFreq.p.zip
(944 Bytes) Downloaded 169 times
Post Reply