WinLux80 - Luxor/BRG ABC80 emulator

 2006,2025-2026 Attila Grsz (gyros AT freemail DOT hu)
http://gaia.atilia.eu


What's this thing I've just downloaded?
=======================================

Emulator, that imitates the behaviour of a piece of computer hardware
on another platform, in this specific case thus an 8-bit ABC80 is 
emulated on the 64-bit Windows platform (natively).

Although some very good emulators exist, they were primarily made to run 
under UNIX/Linux, or are outdated and no longer actively maintained.

WinLux80 is freeware, and may be distributed freely if unaltered,
and the copyright notice is retained. As a consequence, the author take
no responsibilities whatsoever for any damage caused by this emulator. 
In short: use it at your own risk! 

WinLux80 aims to exploit the benefits of a graphical user interface
with features such as drag'n'drop, intuitive menus etc.

New releases of the emulator will be published on the following page:
http://gaia.atilia.eu

What's an ABC80?
================

The ABC 80 (Advanced BASIC Computer 80) was a Z80 based 8-bit personal computer created 
by Dataindustrier AB (DIAB) and manufactured by Luxor in Motala, Sweden from the late 
1970's till the early 1980's.

The cassette device was manufactured by BRG in Hungary and the machine was also produced
and disitributed in Hungary. It was the first official school-computer.


Features of the emulator
========================

- full and cycle exact Z80 CPU core with NMI interrupt
- partial SN76477 analogue sound chip emulation
- full keyboard uController emulation
- write support for tape WAV format
- tape sound

Missing features of the emulator
================================

- WAV tape loading is broken
- disk emulation is buggy

Usage
=====

Running
-------

To be able to run this program, minimum 64-bit Windows XP is needed.
No install is necessary, just copy the contents of the ZIP package
to a new folder and click on the executable called WinLux80.

The simplest way to get programs started is with drag'n'drop or via
the File->Autostart menu option.

There is a possibility to use external BASIC ROM files, next to the two
most widespread ones via the emulator menu. The external ROM image must 
be exactly 16 kB and names as 'MyABC80BASIC.ROM' in the executable folder.

Monitor
-------

The program has a simple interactive monitor/disassembler. It can be entered via the menu
or by pressing Alt+M. In order to return to the emulation, type 'X' end press ENTER.
Typing '?' provides a list of usable commands.

Drive
-----

Although the WD1771 disk controller emulation is available, the images
do not appear to fully work yet. Most important commands.

RUN programname - load a program

Tape
----

Two major formats exist for tape emulation: CAS and WAV. 
Both are read-/writeable.

- WAV

This format can be used if one would like to transfer a program to 
the real machine. Alas, the result can NOT yet be played back to the emulator
but it was successfully loaded on a real machine.

For creating such WAV, one has to first choose 'Create WAV' from the
Tape menu, press PLAY/RECORD by selecting the appropriate menu point from
the Tape menu and issuing the necessary commands in the emulated machine 
(for example: CSAVE"NAME"). The saving process is done realtime (=slow)
but the process can be accelerated by pressing ALT+F3 that gives full
CPU power to the emulator on your machine. It is important that once the
save command has finished the tape must be stopped (via the Tape menu, by
ticking PLAY/RECORD off) and the WAV should be closed (very important!).

- ATP

This high level format is used natively by WinLux80.

It is a literal byte-exact representation of what is written to a real tape
on a real ABC80.

The emulator is not yet able to produce ATP files directly. A separate command line
utility called 'WAV2ATP' must be used for this purpose which is included with the emulator 
(in binary as well as in source format). Programs must be recorded as WAV in the emulator 
and the resulting WAV can be converted to the high level byte-encoded ATP format.

DOS extension
-------------

The emulator comes with support for the disk expansion ROM's ABCDOS and UFDDOS. 
Only the UFDDOS is working to some degree, however.


Thanks
======

I'd like to thank these people their help: info, testing, being nice, etc. :-)

* Hajd Zoltn
* Gbor Kpes
* Robert Juhsz

Links
=====

Wikipedia pages on the Luxor ABC80
https://en.wikipedia.org/wiki/ABC_80 (English)
https://hu.wikipedia.org/wiki/ABC_80 (Hungarian)
https://sv.wikipedia.org/wiki/ABC_80 (Swedish)

Luxor archive:
https://www.abc80.net/archive/luxor/

Jan Hynneke's ABC80 site:
https://abc80.dk/

Samu Rautiainen's site:
https://www.devili.iki.fi/Computers/Luxor/history.en.html

Swedish sites:
https://abc80.org/
https://www.abc.se/

Articles, blogposts, FB groups:
https://frescho.hu/abc-80/
https://www.facebook.com/groups/1243583375709850
https://www.facebook.com/groups/1010371809574496

Other emulators:
https://www.devili.iki.fi/pub/emulators/Luxor/
https://github.com/sasq64/abc80sim

Changelog
=========

v1.0
----

- disk emulation (MOx)
- SN76477 sound chip emulation
- ability to use custom BASIC ROM's
- save screenshot in BMP format
- save sound in WAV format

Preview
-------

- first public release
- BAC disk file format support
- BAS text format support
- WAV tape format support (W only)
- paste text from the clipboard
- copy screen buffer to the clipboard
