tr-dos
tr-dos copied to clipboard
TR-DOS 5.03 disassembled.
= TR-DOS Disassembled :author: Marcos Cruz (programandala.net) :revdate: 2023-10-31
:period: . :char94: ^
// This file is part of TR-DOS Disassembled // By Marcos Cruz (programandala.net), 2016, 2017
// Last modified: 20231031T1357+0100
// This file is written in AsciDoc/Asciidoctor format // (see http://asciidoctor.org).
== Description
The goal of this project is to disassemble TR-DOS 5.03, in order to study it and fix some problems found during the development of its support for http://programandala.net/en.program.solo_forth.html[Solo Forth] (http://github.com/programandala-net/solo-forth[Solo Forth in GitHub]).
== Directories and files
.... . ├── inc = ZX Spectrum symbols for the disassembler │ ├── zx_spectrum_char_codes.z80s │ ├── zx_spectrum_rom_routines.z80s │ ├── zx_spectrum_system_variables.z80s │ ├── zx_spectrum_trdos_addresses.z80s │ └── zx_spectrum_trdos_codes.z80s ├── Makefile ├── README.adoc = This file ├── TO-DO.adoc = To-Do list ├── tools = programs used by Makefile or during the development │ ├── make_blocks.c_commands_table.fs │ ├── make_blocks.rst_20.fs │ └── tidier.vim = VimL program that postprocess the disassembly ├── trdos.blocks.txt = Block definitions for the disassembler ├── trdos.raw.z80s = Disassembly created by the disassembler ├── trdos.reassembled.rom = TR-DOS reassembled from <trdos.z80s> ├── trdos.rom = Original ROM of TR-DOS 5.03 to be disassembled ├── trdos.symbols.input.z80s = Symbols defined for the disassembler ├── trdos.symbols.output.z80s = Output symbols of the disassembly └── trdos.z80s = Final disassembly, postprocessed by <tools/tidier.vim> ....
== Requirements
In order to <<_how_to_disassemble,disassemble the ROM>>, the following programs must be installed:
- https://www.tablix.org/~avian/z80dasm/[z80dasm], by Tomaž Šolc.
- http://vim.org[Vim], by Bram Moolenaar
The following programs are needed to reassemble the disassembly, what is optional:
- http://pasmo.speccy.org[Pasmo], by Julián Albo
- http://www.gnu.org/software/diffutils/[diffutils], by Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, and Len Tower.
== How to disassemble
- Make sure the <<_requirements,required programs>> are installed.
- Enter the project directory and give the
make
command. - If you want to assemble the disassembly and check that the result
is identical to the original ROM, give the
make back
command.
== Bibliography
Documentation used for this project, listed in order of publication:
-
Technology Research Beta 128 Disk Interface — User Manual, 1986. http://www.worldofspectrum.org/documentation.html#manuals, http://www.worldofspectrum.org/pub/sinclair/hardware-info/Beta128DiskInterface_Manual.txt.
-
TR-DOS для профессионалов и любителей (TR-DOS for professionals and amateurs), by Yu Pomortsev, 1994. PDF version by Deny (Denisenko DA), 2007. https://vtrd.in, http://trd.speccy.cz/book/TRDOSUA.ZIP.
-
Описание и полный дизассемблер ПЗУ TR-DOS 5.04T (Description and full disassembly of TR-DOS 5.04T), by Павел Федин (Paul Fedin), 1996{period} https://vtrd.in, http://trd.speccy.cz/book/TRDISASM.ZIP.
-
TR-DOS System Functions, by Igor Yudincev, 1997-06-01. http://ramsoft.bbk.org.omegahg.com/tech/tr-info.zip.
-
Work in TR-DOS from command line and from BASIC, by Igor Yudincev, 1997-06-27. http://ramsoft.bbk.org.omegahg.com/tech/tr-info.zip.
-
TR-DOS disk specs, anonymous, 1997-09-28. http://ramsoft.bbk.org.omegahg.com/tech/tr-info.zip.
-
Russian Most Popular Spectrum Models (combined) FAQ and TECH INFO, by Potapov Vsevolod Viktorovich, 1997-10-25. http://www.worldofspectrum.org/rusfaq/
-
TR-DOS v5.xx - programmer's manual, by Andrew MOA and Mac Buster{char94}Extreme, 1990 (English translation, 1999), http://www.worldofspectrum.org/documentation.html#manuals, http://www.worldofspectrum.org/pub/sinclair/hardware-info/TR-DOS_Programming.txt.
-
TR-DOS v5.xx variables in Beta 128 Disk interface, by Mac Buster{char94}Extreme, 2000. http://www.worldofspectrum.org/documentation.html#manuals, http://www.worldofspectrum.org/pub/sinclair/hardware-info/TR-DOS_Variables.txt.
Websites that were used:
- http://web.archive.org/web/20171121122226/http://vtrdos.ru:80/[vtrdos.ru] (currently https://vtrd.in[vtrd.in])
- http://web.archive.org/web/20190104151541/http://tr-dos.ru/[tr-dos.ru]
== History
The project started on 2016-08-14.