ZX-Pilot 0.5b

Copyright (C) 2003-2004 Stanislav A. Yudin
Vladivostok, Russia
http://www.zxpilot.vladivostok.ru

WARNING!!! It's a beta version!!! Before using ZX-Pilot you must
backup all data from your PDA. Please test all new games on POSE first
and only after that load them to your PDA.




1. What's this?
2. System requirements
3. Installation
4. Controls
5. Games for ZX-Pilot
6. Emulation speed
7. Comments
8. Other known ZX-Spectrum emulators for PalmOS
9. Thanks
10. History


1. What's this?

It's Sinclair ZX Spectrum 48 emulator. Currently it emulates:

- Z80 CPU (not complete)
- ROM 16 Kb (not write protected!)
- RAM 48 Kb
- Spectrum screen 192x256, 15 colors, flash
- Border (except HandEra 330 version)
- Spectrum keyboard
- Kempston & Sinclair Joysticks


2. System requirements

You can run ZX-Pilot on any PDA with PalmOS 3.5 and 8+ Mb RAM (except Sony CLIE PEG-S300) and above, but the best result can be achieved on Sony CLIE devices with HiRes(+) screen and PalmOS 4. You MUST enable High Resolution Assist in Prefs. Emulator works on PalmOS 5 devices, but b&w mode is not quite correct yet. ZX-Pilot requires about 145 Kb of free RAM to run properly.


3. Installation

Just load respective PRC and one of PDB with game in your PDA.


4. Controls

[Power] - EXIT FROM ZX-PILOT
[Date Book] - "6" & Kempston Left
[Address] - "7" & Kempston Right
[Down] - "8" & Kempston Down
[Up] - "9" & Kempston Up
[To Do] - Screen modes switch
[Memo] - "0" & Kempston Fire

Tap screen for change screen mode or move screen.


5. Games for ZX-Pilot

Emulator supports a standard SNA48 format (49179 bytes of size).
Please follow the steps below to prepare PDB file with game:

a. Run one of the emulators, which can save SNA48 files (R80, ZX-Emul and others), on you PC.
b. Load and run you favorite game.
c. Save SNA.
d. Add the header (Header4ZX-Pilot) to your SNA. You can use makepdb.bat with Header4ZX-Pilot for this, just type in command line:

makepdb your_game_name.sna


All games will have the same internal PDB name, so only the game loaded to the device last will play in ZX-Pilot. You can keep your favorite games on a memory card and copy selected game to PDA when you want to play it. Igor Vagin write good program ZX-Launcher which help you to load and run games from memory card.

You can download thousands of free games for Spectrum and other emulators on main ZX-Spectrum portal "World of Spectrum":

http://www.worldofspectrum.org

Some perfect converted games you can found on my home page:

http://www.zxpilot.vladivostok.ru


6. Emulation speed

ZX-Pilot is written on pure Assembler using the most optimal algorithms, it does not use PalmOS SysTraps, some things are reduced for speed-up (ROM write protection, R-register and other), but it's still slow because DragonBall is a very slow processor for this task. Such a pity, but it's a maximal speed achievable on this CPU. Though you can use an overclocking utility, such as FastCPU or Afterburner, to speed the CPU up.


7. Comments

To speed up emulation I need some info about low level hardware buttons scan without using SysTraps. I need to know ways to low level access for Palm beeper too.

Please send all your comments, bug reports, thanks, suggestions, etc. to:

speccy@softhome.net

You can get the last version of ZX-Pilot at:

http://www.zxpilot.vladivostok.ru

or

http://www.palmgear.com/software/showsoftware.cfm?prodID=47697


8. Other known ZX-Spectrum emulators for PalmOS

- MIZX http://www.urux.com/pilot.htm
- PalmSpechttp://sourceforge.net/projects/palmspec/
- ArmZX http://www.palmgear.com/software/showsoftware.cfm?prodID=47714


Not ZX-Spectrum, but relative:

- ZX81Emu http://www.agate.f9.co.uk


9. Thanks

* to Tim N. Tashpulatov for moral support and answering my questions about PalmOS programming
* to Dmitriy Zhivilov for ZX-Live for Amiga and answering my questions
* to Vladimir Yudin for ZX-Emul for PC and answering my questions
* to Bodo Wenzel for his open source GameBoy emulator for PalmOS
* to Artem O. Kozakov for testing
* to Alex Pakhotin for moral support and and for help with documentation
* to Dmitriy Paltchevsky aka DiPal for some routines, LoRes version testing and support
* to Dmitry Molotchko for HandEra 330 version testing and support
* to Andrey Lysenko aka fyrex for some advanced routines and optimization
* to Igor Vagin aka Antares19 for ZX-Launcher
* to Kirill Buravlev for web-site and other web help
* to Oleg Orlov for web hosting, beta-testing and moral support
* to all other people who support my project


10. History

Version 0.5b (January 25, 2004)

- redesigned keyboard for HiRes version;
- new port of ZX-Printer is emulated;
- corrected emulation of some Z80 instruction, now are working Ping-Pong, Lords of Midnight, The Rocky Horror Show, Dizzy 7, Movie, Green Beret and other;
- RESET of ZX-Spectrum (exit to BASIC) is available when emulator can't found snapshot in memory.


Version 0.4b (May 17, 2003)

- added sound emulation;
- added Kempston Joystick emulation on hardware keys;
- added flash-color emulation;
- corrected graphic engine for more correct screen update;
- some kernel optimization for faster emulation;
- fixed bugs in some Z80 instruction;
- added new undocumented Z80 CPU instructions;
- removed on-screen keyboard in 1:1 mode for LoRes version.


Version 0.3b (April 7, 2003)

- major kernel optimization for faster emulation;
- added screen keyboard;
- added exit dialog with pause and save options;
- added some new screen modes (including color!) for LoRes devices;
- added ability of moving screen in HandEra 330 version;
- added more undocumented Z80 CPU instructions;
- rewrote b&w screen update routine to improve picture quality in LoRes version;
- rewrote non-scaling screen update routines for faster emulation;
- redesigned icons;
- fixed bug in PDB header;
- fixed many bugs in kernel and instructions emulation.


Version 0.2b (March 6, 2003)

- added standard Palm screen 160x160 support (grayscale and monochrome modes);
- added HandEra 330 screen 240x320 support (grayscale and monochrome modes);
- added HiRes grayscale support;
- added more undocumented Z80 CPU instructions;
- fixed many bugs.


Version 0.1b, (February 24, 2003)

First public beta