Short: Convert Spectrum Z80 Snapshot->TZX Tape Author: Tomaz Kac Uploader: aGGreSSor (amitrans narod ru) Type: util/conv Version: 1.1 Requires: ABIv0; i386; InstallerLG Architecture: i386-aros Distribution: aminet ============================== F E A T U R E S ============================== This program will let you convert any Z80 Snapshot to a TZX Tape file. This means that you will be able to play that file into a real ZX Spectrum (or an emulator) without any special hardware. Both 128k and 48k snapshots (all versions) are supported. .SNA and other support will come later. You can use any other snapshot convertor to convert different formats to .Z80 format. There have been a few utilities like this, but I felt this needed doing. The reasons are because most of the previous utilities lack the support for customizing the resulting TZX file or had too many bugs. TAPER has a really nice support for the conversion from Z80 to TZX format, unfortunetly it has so many bugs that it is practically unusable. I could bug-fix it, but it would take way too much time and it needs DOS to run (Doesn't run on XP !). With this utility you are able to customize your TZX file in several ways. You can change the speed of loading (from standard speed to 400%), all messages that you see while loading can also be changed and added. Also you can supply a custom external loading screen. I have gone through a great deal of testing (around 300 Z80 snapshots which didn't work with TAPER all work with this). There are still some snapshots which rely on the last line on screen to be original - this line is corrupted because it is used to store all registers, etc. These include games like Back To Skool and Skool Daze. You will have to snapshot these at a later time (in-game for instance). Unfortunetly nothing can be done here... There are several ways you can customize your TZX file. You can change the Loading: Name to anything you want ( 8 Characters only ). You can also change the Game Name that is shown before the SCREEN$ is loaded. Also you can add two extra lines of info on the bottom of the screen if you want. The converter takes care of several issues when loading the snapshot : - Loader for 48k and 128k Snapshots is the same. Only part that is different is the AY and 128k Paging registers setup. - Each page is checked if it is empty - if so then it is not loaded at all. - Each page is compressed and if its length is smaller than original size it is kept compressed. Also an additional check is done to see if the decompression procedure doesn't overwrite the compressed source ! - The first page or the custom loading SCREEN$ is always loaded compressed and is displayed instantly. - If custom loading screen is present then the last page is always loaded decompressed so the loading of the screen looks nice (backward loading). - In the end the 768 bytes long block is loaded with Normal ROM routines, and only if it is needed. This overwrites the are where the loader and register info is kept before it is moved into the last line of the screen area. ============================ R E Q U I R E M E N T ========================== z802tzx tested and worked fine on the following configurations: - IcarOS i386 (Kickstart 51.51, Workbench 40.0, AROS ABIv0) - AROS One i386 (Kickstart 51.51, Workbench 40.0, AROS ABIv0) ================================= U S A G E ================================= This utility req big stack size: 1.AROS> stack 100000 Example of conversion with its own screen-file: 1.AROS> z802tzx Example/bb.z80 -$ Example/bb.scr ================================ S O U R C E ================================ Based on aminet version 1.0 by Tomaz Kac. version 1.1 added: - version and stack support - stack size control - default loading speed set in 0 - makefile rewritten - source included ______ ______ ______ ______ ______|:: .__|:: .__|_____ ______|:: ___|:: ___|______ _____ |: , |: | |: | |: ,_|: ,__|:___ |:___ |: - |: ,_| |__|___|______|______|___| _____|______|______|______|___| home cross-compilation factory