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)
This could be useful for long running programs with maybe calculating some graphics or calculation of prime numbers or similar tasks.
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
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.