From C64-Wiki
Jump to navigationJump to search
Under Construction Site / Sign
Language German TO Language:english
This article has recently been imported from the German C64-Wiki and not been translated yet. Please come back at a later time to read the English version of this article or help us.

TEDMON on a C128.

Basic version BASIC 3.5 was the first to integrate a machine code monitor called TEDMON, launched by the BASIC commands MONITOR or SYS 1024. TEDMON was integrated on the home computer systems C16/116, C128/D/DCR and Plus/4.

Register Line[edit]

After the start is shown this message:

BASIC 3.5 (C16)
; 0004 30 00 00 00 F6
BASIC 7.0 (C128)
; FB000 00 00 00 00 F8

The first line names the CPU registers and the second shows their current content.

The abbreviations in the register line mean:

All values, numbers and addresses are shown and taken in hexadecimal!


TEDMON on the Plus/4.
TEDMON on the C128 (80 char mode).

The following commands can used:

  • A - Assemble a mnemonics line into machine code.
    • A <adrese> <command> [<operand>]
  • C - Compare two memory aeras and displays the difference.
    • C <start adress> <end adress> <start adress for comparing>
  • D - Disassemble a machine code line into mnemonics.
    • D [<start adress > [<end adress>]]
  • F - Fill up a memory aera with the given byte.
    • F <start adress> <end adress> <Byte>
  • G - Go to the memory adress, also start a machine code program at the inputed memory adress.
    • G <adress>
  • H - Hunt a memory aera - Durchsucht Speicherbereich nach einen bestimmten Wert und zeigte alle gefundenen Speicherstellen an
    • H <start adress> <end adresse> <datas> (datas are hexadecimal numbers seperated with empty spaces and strings seperated with the prefix apostrophe (').)
  • J - Only C128: Jump to subroutine - Springt in ein Maschinenspracheunterprogramm an der angegebenen Adresse. Im Unterschied zu G gelangt nach Ausführung des Befehls, bei der Rückkehr aus dem Unterprogramm mittels RTS, die Kontrolle wieder zum Monitor.
    • J <adress>
  • L - Load a file from disk or datasette into the memory.
  • M - Memory is showing in hexadecimal numbers and values.
    • M [<start adress> [<end adress>]] (by using this command without adresses the first 12 lines are shown.)
  • R - Registers is shown again.
  • S - Save the inputed memory aera into a file on disk or datasette.
    • S "<file iname>",<device number>,<start adress>,<end adress+1>
  • T - Transfer) or copy a memory aera into another.
    • T <start adress> <end adress> <destination adress>
  • V - Verify a saved file on disk or datasette with the memory aera.
    • V "<file name>",<device number ($1-$F)>,<start adress at C128>
  • X - eXit TEDMON into BASIC direct mode.
  • > - Modify one until eight bytes in a memory adress (after M command).
    • > <adress> <byte1> <byte2> ... <byte8>
  • . - Works same like the A command
  • ; - Change the register content (after R command)
  • @ - Only C128: Displays the disk drive status or for using floppy commands.
    • @[device number ($8-$F)][,[ floppy command ]]
      standard device number is 8.

TEDMON hasn't a input prompt! Only a blinking cursor is shown that the machine code monitor is ready.
If a wrong input is done (unknown command) a question remark ? appears.

Numeral Systems[edit]

In the TEDMON version of the C128 you can use alternative numeral systems by using a prefix. Normally numbers in hexadecimal are used:.