ZXblast - ZX81 memory extension plus USB

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
blittled
Posts: 229
Joined: Fri Dec 19, 2008 3:04 am
Location: Northwestern Pennsylvania, USA

Re: ZXblast - ZX81 memory extension plus USB

Post by blittled »

Looks awesome! I await for it with great anticipation. :D Have a great holiday and come back refreshed ready to tackle those last bugs.

BTW: There is a good SD/USB File sorter I've used for my ZX P file to Ear Input Signal Converter http://fat-sorter.software.informer.com/.
2X Timex Sinclair 1000, ZX81, ZX80Core, 5X 16K Ram Pack, ZXBlast, ZX P file to Ear Input Signal Converter, Elf II
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by PokeMon »

So the next release of ZXblast is finished since a few days and want to publish it here. This is a prerelease for owners of a eprom programmer who can directly program the SST 39SF040 flash rom. ZXblast8.bin contains the ZXblast image plus 7 ZX81 instances in a single file with 512kByte. Just to start as long as the update program is not finished (will do over the weekend).

The ZXBLST11.p update program will follow over the weekend - I have to adapt it to the new hardware as ZXblast is different to ZXmore.

Also the user manual is in progress now and come soon. You may find out yourself - the main part is the file manager, sub directory support and several bugs solved, see changelog for details. Movement inside the file manager is done with SHIFT-5/SHIFT-8 (page up/page down) and SHIFT-6/SHIFT-7 (cursor down/cursor up) while SHIFT-1 is handled like ESC key. Try yourself. ;)

Flash Loader should work now as it should, config is stored and read from RTC and loading data into memory (RAM) as well except the address area 8-16k ($2000-$3FFF). This is a bit tricky and requires a changed CPLD as in instance 0 (ZXblast instance) there is 16k ROM required and unfortunately paging was blocked to avoid system hangups when NMI activates ZXblast in the background and paging is active and may harm the default RAM layout. This is solved now and in the following release (1.2) this should be possible but requires a hardware and software update. So no chance to put this now into the current release.

Anyway paging is possible from instance view/side and RAM in 8-16k can be used for any purpose but it is now not possible to load a file from USB flash media directly into this area. In conclusion it is not possible to save this area now in instance backup/restore or system backup/restore. By the way, the format of the system backup file was extended now to store the filenames loaded into instances and the current active directory. There is a version number in the instance backup file from now which allows to handle different versions in future for converting them. Not included now as this feature is probably not widely used.

Backup and restore are now routed through the file manager with a profiled default filename which maybe overridden by user to allow easy access to different system backups with different configs for different purposes. The same when pressing "L" in the startup screen after power-up or reset allowing now a system restore after power-up with just two keystrokes ("L" and "NEWLINE").

Here the recent part of the changelog for an overview:

## [V1.1] - 2017.04
### Added
[+] show directory listing with NEWLINE
[+] show disk information (FAT type, label, capacity)
[+] pick files with NEWLINE, optional editable entry for parameters
[+] overwrite of existing files with user dialog (prevent accidently writes)
[+] file manager implemented for screenshot/hardcopy files
[+] file manager implemented for system backup / restore files

### Changed
[*] reset internal USB buffer with '//' as directory name

### Fixed
[-] LOAD/SAVE using additional parameters like address and size
[-] flash loader fixed
[-] loaded filenames (instance data) is stored and retrieved in system backup files


## [V1.0] - 2017.02
### Added
[+] screenshot/hardcopy function with DS-H and tools menu
[+] added subdirectory in loader with /dir/file syntax
[+] change subdirectory permanent
[+] support relative and absolute directory usage

### Changed
[*] minimum internal RAM size for ZXblast changed from 2k to 2.5k

### Fixed
[-] USB communication error when entering wrong/non existing file names
[-] RTC date setting bug removed with day>19 and month >9


## [V0.9] - 2017.01
### Added
[+] support of 128k configuration

### Changed
[*] original ZX81 rom used with 8k RAM configuration for 128k version

### Fixed
[-] file storage issue solved (ZXMUPD20.ROM)


## [V0.8] - 2017.01
### Added
[+] RTC programming / real time clock
[+] clock display
[+] file date and time support based on RTC (ZXMUPD19.ROM)
[+] store memory config in RTC memory
Attachments
ZXblastV11A.zip
(163.55 KiB) Downloaded 248 times
Last edited by PokeMon on Sun Apr 23, 2017 2:26 pm, edited 2 times in total.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by PokeMon »

One very important note to the required USB firmware update (ZXMUPD21.ROM). Please read first !!

To support the new functions with subdirectory support and filemanager you need the latest USB firmware 2.1 provided in ZXMUPD21.ROM.
This update can be loaded from the Tools/Load menu in instance 0 (ZXblast instance) with this command:

Code: Select all

ZXMUPD21.ROM:U*
After executing you have to wait at least 30 seconds before powering off or do any other action. If the ZXblast firmware was installed first, a timer is displayed. The recommended order is to install/program ZXblast first and after the USB firmware but will function in other order as well.

It is very important, that this filename on the USB flash media is NOT fragmented. It is recommended to do a defragmentation of the USB stick first when updating the USB which can be done under WIN with "Disk/Properties/Tools/Defragment" or alternatively saving the data of USB in a directory on the hard disk, formatting the USB flash media first with quick format and after copy the directory back with the ZXMUPD21.ROM. This way you could also do a sort in alphabetic order before copying to have a specified order with the ZXblast.

By now the ZXblast does not support sorting files but this will come in the next release. Anyway new files created will be added at the end of the directory.

It is absolutely necessary to assure, that the USB update file is not fragmented as this will result in a flattened/dead USB chip which can be awaken with an external program adapter only.

Unfortunately the internal function from FTDI was programmed in a questionable way. There is a file opened first, the file handle given to the update utility which simply reads just one sector after each other regardless if a part of the file continues on another cluster. Anyway it is as it is and I can not influence it. I got this problem myself when updating an increased rom file and copied it on the old one with lower size. The note from FTDI looks quite harmless but there is a difference in my eyes between "not supported" and "will crash the controller". :roll:

Restrictions:
- Fragmented ROM files not supported. Do "CHKDSK <filename>" from command line to check.


And now - have fun.

The update file ZXBLST11.p to load from an instance without any eprom programmer will follow soon. This is now for the early birds with hardware equipment. 8-)
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by PokeMon »

Here is the latest user manual, update utility follows soon. ;)
Also replaced release above with bugfix release 1.1A.
ZXblast-UserManual_V11.pdf
(751.58 KiB) Downloaded 409 times
rcade
Posts: 26
Joined: Tue Dec 02, 2014 2:28 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by rcade »

Hello,

I have an EEPROM programmer and flashed the 1.1A to the SST chip. I also did the USB update (I think) from the Tools->Load Data. It counts down 30 seconds, then resets.

However, I do not have a file browser. If I press newline with no filename, it just goes back to the instance...
User avatar
siggi
Posts: 988
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: ZXblast - ZX81 memory extension plus USB

Post by siggi »

rcade wrote: Mon Apr 24, 2017 5:30 am However, I do not have a file browser. If I press newline with no filename, it just goes back to the instance...
Maybe the USB-driver was out of sync to the firmware (or USB-stick not correctly initialized)?
You should see (tools->load) on top of the screen the correct USB-version and the stick parameters (name and size). If that is not OK, the stick cannot be read properly.

HTH Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by PokeMon »

Yes - if you call the loader, which release is shown in the top line ?
Is there any disk data displayed like volume label, size and FAT type ?
rcade
Posts: 26
Joined: Tue Dec 02, 2014 2:28 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by rcade »

I got it working... tried a different USB thumb and the firmware updated.
User avatar
PokeMon
Posts: 2264
Joined: Sat Sep 17, 2011 6:48 pm

Re: ZXblast - ZX81 memory extension plus USB

Post by PokeMon »

I added here a newer bugfix release V1.1B An issue with flash programming was solved in this version to load a driver into flash (for example program in 8-16k section) to be used with ZX81 instance.

By the way - I finished the firmware flash loader program (ZXBLST11.P). Unfortunately it will not run with the current CPLD firmware as this allows program of flash for instance 1-7 only while instance 0 was blocked due to secure operation details. It would kick off the ZXblast when RAM is activated in 8-16k area so instance 0 uses another address decoding scheme like usual ZX81. 0-16k=ROM and 16-64k=RAM. The flash programming explicitly desires to activate temporarily flash rom in 16-32k area, see attached programming sequence from datasheet.

So - to make a long story short: Without a new CPLD it is not possible to program/update the ZXblast firmware yourself as long as you don't have an (e)eprom programmer. So my offer is that I will program CPLD and flash ROM SST39SF040 to the latest version if it is send back to me. I will cover also the postage back, so you just need to ship it to my address which can be requested by PN. It is not necessary to do the update now but possible. Please accept that I do not ship parts first - you have to return the programmable parts to me first. They will be reprogrammed and send back to you.

I guess there will be no CPLD enhancements in future but there won't be a guarantee for this. Anyway it is quite full (63 of 64 macrocells used). So you can request a factory update now. The reason I pay the postage is, that it is partly my fault but partly there are also new features inside. And it is a tribute to the first time customers trusting in the ZXblast features and helped to get it started early. There is actually no time limit to do this, so feel free if it is suitable for you. This is a onetime update and further updates can be handled by users with just a ZX81 program provided.

Following is new in CPLD:
* /BUSCS handling corrected - a feature for a ZX81 rack system mostly used by german forum members
* access to paging mechanism for ZXblast to load/save data into RAM section 8-16k (paging and ram access in general works in instance 1-7 but not with LOAD/SAVE)
* flash loader can be used for reprogram ZXblast in instance 0 (from ZX81 instance 1 with update file ZXBLSTxx.p)

Bildschirmfoto 2017-05-01 um 19.58.38.png
Bildschirmfoto 2017-05-01 um 19.58.38.png (376.99 KiB) Viewed 4698 times
Software:
ZXblastV11B.zip
(164.04 KiB) Downloaded 263 times
User avatar
blittled
Posts: 229
Joined: Fri Dec 19, 2008 3:04 am
Location: Northwestern Pennsylvania, USA

Re: ZXblast - ZX81 memory extension plus USB

Post by blittled »

Can the SST39SF040 be programmed with a PICKIT 2 or 3? I have both. Also do I still need to get the CLPD reprogrammed if I flash the SST39SF040?

I was having the same issue mrtinb trying to do the update with ZXMUPD21.ROM. I tried 2 reformatted usb sticks on a TS1000 and a ZX81 and couldn't get the update to work. When I restarted the ZX81 I saw no change in the header.
2X Timex Sinclair 1000, ZX81, ZX80Core, 5X 16K Ram Pack, ZXBlast, ZX P file to Ear Input Signal Converter, Elf II
Post Reply