tr-dos icon indicating copy to clipboard operation
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

  1. Make sure the <<_requirements,required programs>> are installed.
  2. Enter the project directory and give the make command.
  3. 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.