Amiga Projects

I think the Amiga Operating System is one of the most wonderful operating systems the world has ever seen (although it lacks some important features like the memory protection, its basic ideas are beautiful and internally consistent which is very rare even these days). I was using an Amiga for more than eight years (1989–1997). During my Amiga era, I've produced zillions of programs ranging from tiny utilities to complex applications and here you'll find the more interesting bits of my Amiga work.

I've distributed many of my programs on the AmiNet, but the distribution archives usually didn't contain sources. In 2003, I've decided to publish all the sources and put everything to the public domain together with some previously unreleased stuff.

Found on the AmiNet

MKick-1.9
source
(09-09-95)
The MJ's Kicker – allows you to run almost any version of the OS on an Amiga equipped with a 1.X ROM. For 2.X or 3.X-based machines you should use SKick by Pavel Troller instead.
SSLib-5.1
source
(16-01-95)
The ss.library offers a lot of powerful functions originally written for assembly language use, but also working relatively well with C (other languages have not been tested). Includes:
  • Automatic handling of standard startup and exit procedures – parsing of parameters, allocation of data zones, error message printout, Workbench interaction (Workbench tool types and shift-selected icons can emulate command-line arguments), everything controlled by means of a tag array.
  • Resource tracking, exception handling and automatic freeing of resources.
  • Extremely fast memory allocation techniques – optimized memory pools.
  • Array/list sorting.
  • Lightning-fast buffered I/O with customisable block read/write functions.
  • Lots of special functions (e.g., I/O Request handling, hashing and file name manipulation).
Columns-2.6
source
(12-10-93)
A multi-column printing utility. Supports automatic setting of optimal column width, all font types supported by traditional Epson printers, page numbering, character code conversions and lots of other things.
ADF-1.1
source
(17-02-95)
A tool for formatting AutoDocs (documentation gathered from fragments stored as source comments). Simple C program using the ss.library.
ArcMan-1.5
source
(16-01-95)
The Archives Manager – a simple, but powerful database of files archived on diskettes. Allows automatic selection of where to put new files, automatic adding and extraction of selected files (prompts you for insertion of all needed diskettes, but each of them only once) and lots of other useful features.
DD-1.01
source
(15-07-94)
The world's fastest directory tree listing utility. Uses special direct disk access algorithms based on disk head movement optimizations.
DevHandler-1.03
source
(15-04-95)
A handler for UNIX-like named consoles including AUX devices over serial or network lines, also supports raw disks, stream devices and multiuser protection.
DeCon-2.1
source
(07-02-95)
A debugging console – redirects exec RawIO functions (originally writing characters to a serial port, used by enforcer, mungwall and other debugging tools) to a window. Asynchrounous processing, message buffer, save to file and other useful features supported.
DTMF-1.2
source
(10-02-95)
Dual Tone Multi-Frequency telephone dialer via standard audio output. Both command-line operation and GUI (needs the MUI system).
Exemine-1.0
source
(14-08-94)
Executable file analyser. Displays detailed information on structure of given executable file.
FSG-2.0
source
(13-08-94)
File System Guardian – a simple utility dumping all filesystem operations performed by all programs. Much better as SnoopDos and similar DOS-tracers. Traces direct packet-level communication instead of dos library calls.
FSort-1.3
source: see SSLibExamples
(07-02-95)
The fastest text file sorting utility. Replacement for the standard sort command.
KeyComp-1.0
source: see SSLibExamples
(12-12-94)
Keymap compiler and analyser. Allows direct creation of standard Amiga keymap files. No GUI, no bells and whistles, just does what you want it to do.
KeyMod-1.0
source
(10-02-95)
A nice joke program. Generates misspellings automatically if you start to type very fast.
Kls-13.762
source
(15-09-94)
Another joke. The Best Screen Clearing Program. Lots of features, options, switches, documentation files, bells and whistles.
MJDiary
source: see Gleanings
(10-02-95)
Simple reminder program based on date pattern matching.
MJPipe-0.9
source
(15-09-94)
Another pipe command allowing direct use of UNIX-like pipes in the Shell.
NewAlertHook
source: see SSLibExamples
(18-04-95)
Replacement of the standard alert.hook modules. Adds lots of interesting details to all System Error messages – full error text, name of task which caused the error etc.
PatchGen
source inside
(05-07-93)
Generator of difference files between two similar binary files. Also includes a Patcher program allowing to apply the difference file to the first file to generate the second one.
UnDel-1.1
source
(20-02-95)
Universal OFS/FFS undelete utility. Very fast and easy to use.
XPasswd-1.0
source
(12-12-94)
An utility for changing both MultiUser and UserGroup password at once.

Other programs

Things I've never officially distributed, usually because of incomplete documentation.

EnvIn-0.1
source
(27-09-94)
The Environment Integrator – an easy way to integrate your favourite compiler(s), debuggers and editors (editors are required to support some kind of remote control interface). Very interesting and almost fully working (I've been using it for ages), but no documentation exists yet.
TEC-1.01
source
(27-02-94)
A universal state-machine driven parallel-processing text convertor. Not so easy to learn, but very powerful.
SoundTracker library
source
(1992)
A library and several supporting tools for processing of SoundTracker / ProTracker songs, samples and modules.
Primes
source included
(30-01-94)
A simple program for calculating of prime numbers optimized for maximum speed. Originally used as a benchmark for comparing different Amigas and also Amiga with PeeCees.
ZAsm-1.03
source included
(08-01-97)
Assembler for Z80. Simple and fast. Many of my applications for the ZX Spectrum have been compiled by this.
ZDis-1.03
source included
(03-08-96)
Universal disassembler. Now containing opcode tables for Z80, 8048 and 8051. Supports powerful macro language (e.g., capable of defining disassembly syntax for the Spectrum ROM calculator control language) and cross-references.
ISM-2.4
source only
(16-08-93)
The Intuition Structures Maker – an utility for automatically generating all the complex data structures for intuition.library windows, menus and gadgets according to a simple system of hereditary templates.
SSLibExamples
source only
(1993-1995)
ss.library examples – a couple of small programs using the ss.library. Some of them have been released as separate packages listed above.
SpyUtils
source only
(1992-1995)
Various utilities for spying on other programs' behaviour – tracing of system calls, decoding of copper lists, tracking of memory usage etc.
TwoMouses-1.0
source only
(18-07-96)
Allow the mouse pointer to be controlled by two mice simultaneously. Ideal for playing of multi-player games.
Gleanings
source only
Unsorted programs which didn't fit anywhere else.

Work in progress and fragments

The following programs are still in the middle of development and probably will remain so unless you are willing to continue with the work I began.

GalProg-0.93
source only
(1995)
GAL 16V8/20V8 programming tool. Requires a simple three-chip programming device attached to the parallel port (unfortunately, the schematics are lost in time). Accepts standard JEDEC files.
PFD-1.0
source only
(1993)
A tool for processing library function description (*.fd) files.
STTools
source only
(1994)
An utility I wrote to help managing my huge collection of SoundTracker modules, songs and samples.
ZXComm
source only
(1993)
Utilities for communication with my ZX Spectrum.
mjTeX
source only
(1995)
My own port of TeX. Includes fast I/O functions using the ss.library, quick Metafont graphics support, nice automatic file searching capabilites and dynamic runtime configuration options.
CPrint
fragment only
(1993)
A fragment of printer drivers for printing Czech texts.
FloppyNet
fragment only
(1994)
A technology for connecting two Amigas by a simple two-chip device attached to the external floppy port. A SANA-2 device has been almost completely written.
This page is maintained by Martin Mareš