ZXmore - questions and answers (FAQ)

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

Re: ZXmore - questions and answers (FAQ)

Post by PokeMon »

So finally release 1.9 is available.

All necessary files can be downloaded here in a comfortable ZIP archive:
http://www.ginger-electronic.com/Downlo ... terV19.zip

Following changes and new features are here listed shortly:

Code: Select all

## [V1.9] - 2016.06
### Added
[+] multi tasking mode (automatic instant switching with time slice)
[+] added support for vdrive protocol with minimalistic driver
[+] backup of single instances as *.BAK and continue session later (after power-off)
[+] saved single instances maybe continued on any other instance, easy cloning possible
[+] backup and restore of complete ZXmaster including all active instances in tools menu
[+] restore of previously saved backup with pressing NEWLINE during reset or power-up

### Changed
[*] instance switching moved from top margin to bottom margin due to technical reasons

### Fixed
[-] frame synchronisation between instance switching (smooth switching)
[-] video timing precised
[-] ZX81 FAST mode display A15 fix with new CPLD (rev. 06.2016)
Realising multi tasking mode was much more complicate than thought and needed 3 different approaches and has some restrictions as well, see below. Multi tasking can be selected with hotkey DS-M and switched on and off (toggle mode) but needs at least two running instances. The foreground instance has display and keyboard, the background instance(s) will be executed only. Foreground task is run at top margin while one or more background tasks are run in bottom margin in a round-robin manner. If only 1 background instance used, it will get 50% of cpu time, when using 2 instances every instance get 25% or with 3 instances 16.5%. The foreground instance has always 50% speed. When using two instances both will run with 50% of 6.5 MHz speed so all in all both with full/normal speed of a ZX81 (3.25 MHz). Okay - a bit faster, 130% in comparison to a usual ZX81.

This could be useful for long running programs with maybe calculating some graphics or calculation of prime numbers or similar tasks. :lol:
In the foreground you may work, program or play game.


Restrictions applied to multi tasking mode:

1) PAL video mode only
Realistin this feature was very tricky and is timing sensitive and result in problems using NTSC mode with about shorter periods of program execution. PAL is much more reliable. I tested with some standard applications with BASIC, assembly code or graphics and some games like 1kchess.p for example. There maybe problems with programs using own video drivers and customized system variables like dr. beep's 1k programs, I think. There maybe also problems with programs using extensively NMI switches on/off or expecting NMI's to occur regularly.

2) RAM mirror may be required
Extensively switching on/off for NMIs may cause problems which is maybe worth to explain.
This is an acid test program:

Code: Select all

10 SLOW
20 PRINT "X";
30 FAST
40 RUN
Running this program in one instance and another one in a second may cause problems. Reason is the extended M1 NOT mode supported from ZXmore which allows execution of machine code programs in whole memory (even in area $C000-$FFFF). It is necessary, to detect the video display which forces A15 of RAM always low to point to correct DFILE location. Video mode is detected when either INT ACK or HALT occurs. During testing it showed up, that FAST mode display may cause trouble when not detected properly. Then DFILE is read from A15 high (not forced low) pointing to wrong display data. So I had to add an additional condition to active video with NMI switching off. This doesn't show up earlier. So there are two fixes. A hardware fix with a CPLD from 06/2016 on or as workaround to use RAM mirror which forces A15 to point always to the same memory address but limits memory to 32k only (either 8k-40k or 16k-48k). The fixed CPLD now gives also a correct video pattern for the LOAD routine (stripes).

3) Text display only
Realizing multi tasking required also own display drivers. So during multi tasking you may see text screens only. HRG programs are executed fine but do not show the graphics content. A workaround is to temporarily switch off multi tasking and after checking contents switch it on. FAST mode periods in general (as occurring during program editing for example shortly) do not harm the multi tasking mode because display is always switched off during that time configuring or changing the DFILE contents.

4) Framecounter (FRAMES)
The frame counter is decremented in multi tasking mode but is not in all cases set correctly. Every time a background instance is executed, FRAMES will be decremented by one. If only 1 background task is present, this corresponds to 50 frames per second. If two background tasks are executed in round-robin than both frames are executed 25 frames per second while FRAMES is decremented by 25 only. So timing measurements may not work properly when running more than one background task.

But give it a try - it's a funny feature. 8-)
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore - questions and answers (FAQ)

Post by PokeMon »

There are some more features like a basic implementation of the VDRIVE interface - see manual for detailed information.

Also it is possible now to save complete instance with all RAM (56k, $2000-$FFFF) and context information and continue the instance when loaded again exactly at the point it was interrupted. This way it is comfortable to save complex configurations, loading of different drives etc. or save a running program or game without interrupting. This way instances may be even cloned and copied to other instances. Saving or loading instance is automatically activated while choosing filenames with extension .BAK using the standard LOAD/SAVE procedures with DS-L or DS-S.

Additional there is a system backup and restore available via the tools menu of ZXmaster to store all active instances, resulting in a file with 56k - 392k depending on the actual system configuration and stored in a fixed filename ZXMASTER.BAK. This can be restored either via tools menu back after reset or power-up and can be automatically loaded while pressing NEWLINE during reset or power-up. When a cold start occurs - either manually or when longer time powered-off - the system starts with the version screen and prompt to press any key then pressing NEWLINE will cause a system restore as well as any other key will start the system without restore.

There is another release 2.1 with ZX Spectrum and sub directory and listing support later this summer and maybe even the first CP/M release. I am working on it. 8-)
oscar
Posts: 36
Joined: Mon Apr 25, 2011 10:57 am
Location: Australia

Re: ZXmore - questions and answers (FAQ)

Post by oscar »

PokeMon wrote:There is another release 2.1 with ZX Spectrum and sub directory and listing support later this summer and maybe even the first CP/M release.
Do you expect that when CP/M support is released it would be a simple update of the firmware that a normal user can do, or would it be more complicated than that?
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXmore - questions and answers (FAQ)

Post by PokeMon »

This will be an update in the same way as the previous updates and require to execute a ZX81 BASIC program.
Same like ZXMORE18.p or ZXMORE19.p - maybe the name will be ZXMORE25.p or similar. ;)
dessony
Posts: 342
Joined: Tue Oct 29, 2013 2:26 pm
Location: Indiana, USA

Re: ZXmore - questions and answers (FAQ)

Post by dessony »

Pokémon,

I finished reading the recent ZXmore - info & updates posts. Real interesting! However, I have a few questions for you.

What is a different between the ZXmore (V1.1) and the ZXmore (V1.2)?

Do we need to do any additional works underside the V1.2's board?

Can we just transfer these ICs off the V1.1 onto the V1.2?

Thank you very much... ( as a German says,"vielen Dank!") :lol:

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

Re: ZXmore - questions and answers (FAQ)

Post by PokeMon »

This is a new hardware revision and some things are optimized and some feature added (like higher clock). As ever in life there is nothing which couldn't have done better. And as new boards have to be produced I decided to do a newer revision. Anyway I point out that there won't be software changes, the basic release will be same also in future but some feature maybe not working (like overclocking). Of course I have to test it out properly the next days.

I think it would be hard to do the modifications on the older revision yourself as few chips are spared and use of single logic gates changed. But buy a new board and put the chips to the new board should work of course. I think four chips are left then (no longer needed) and the CPLD need to be updated which will be part of the minimalistic board set of course. So you need to buy some sockets yourself if you want the option to move it later to any follow-up. Not yet planned but you never know. ;)

But let's fix the minor bugs at the board first (clock and video).
tdg8934
Posts: 304
Joined: Mon Sep 23, 2013 6:10 pm

Re: ZXmore - questions and answers (FAQ)

Post by tdg8934 »

Karl,

ok I found this FAQ for my questions.


1. I want to know if ZXmore supports Hi-Res pictures as some make my monitor go blank, others bring up what looks like the tape sync screen and some do nothing. Is there any modifications made to the board for WRX or other Hi-res techniques.

So far I have ilena.p and puzzle.p working (including associated ASM and related files) showing true hi rez but maxdemo.p starts to display offset something and then it goes to either a blank screen or a screen that looks like a tape drive that is loading a program is displayed. Why are there inconsistencies?

2. Does the v1.9 (or is it 2.0?) support NTSC as my video to HDMI converter board says ZXmore is sending it PAL or sometimes says PAL-N.

3. Is there a way to read what P files are on the USB drive? That would be very helpful.

More to come. Sorry I just read this and saw your note to keep all questions, comments in the FAQ section here.

Thanks - Tim
tdg8934
Posts: 304
Joined: Mon Sep 23, 2013 6:10 pm

Re: ZXmore - questions and answers (FAQ)

Post by tdg8934 »

Ok I bought yet another monitor (from a highly discounted store for $20) with composite video input and the ZXmore screen text was scrolling again - which indicates it could be in PAL mode. I found a jumper on the ZXmore that wasn't connected to the 2 pins. When I connected it, the image stopped scrolling but some of the text was offset (double image) by maybe 1/2 of an inch. Unusable. The other nearby jumper when switch appears to invert the display black on white which is a neat idea.

I took the ZXmore to yet another tv (32" vizio) I had and connected it to the tv's composite video input. Success! No more double image which just a slight trace of artifacts but yet the best picture yet.

As a test I took a TS1000 with modified video output and plugged in my ZXPand and ran the MAXDEMO.P and the hi-res demo ran great on my Vizio TV.

I then took the ZXmore and connected it to the Vizio tv and loaded and ran MAXDEMO.P and it started to display the hi-res graphics for a few seconds but then crashed and I got a white screen and had to reset or sometimes it would come back to the inverse K.

So is the ZXmore not compatible with "some" Hi-Res graphics? It seem's like the ZXPand is compatible.

I also tried plugging my ZXPand into the ZXmore and it showed messed up graphics. Does this work or is there a trick to getting it to work?


Tim
Last edited by tdg8934 on Sun Jul 23, 2017 12:46 pm, edited 1 time in total.
tdg8934
Posts: 304
Joined: Mon Sep 23, 2013 6:10 pm

Re: ZXmore - questions and answers (FAQ)

Post by tdg8934 »

dessony wrote: Tue Feb 23, 2016 3:56 am DSC00193.JPGDSC00191.JPG

Pokémon,
These photographed screens are mine! Don't worry about the few "white lines" on my monitor, these lines aren't causing by the ZXmore, the monitor caused it. :D

ZXmore and ZXpand worked together very well! :lol: :D

Cheers!
Dessony
Dessony,

I am using ZXmore v2.0d (new) and when I connect my ZXpand under NTSC or PAL, I get 4 quadrants of graphic characters which most of the time scroll up and down. I have 2.3 of ZXPand. Can you explain what you did for both to work together?

Thanks,
Tim
gemby
Posts: 7
Joined: Mon Dec 21, 2015 9:41 am

Re: ZXmore - questions and answers (FAQ)

Post by gemby »

Hello, does anybody knows how to access DS1302 RTC on zxmore from zx basic ( or C , or assembler)? I see on schematics that is conected to D0, but CE is also conected to RTC (IO1) of CPLD, so there is probably way how to get set time from it? If so, how?
Post Reply