Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| z9001:software:idas [2011/02/05 10:56] – volkerp | z9001:software:idas [2025/11/20 13:02] (aktuell) – [Tabelle] volkerp | ||
|---|---|---|---|
| Zeile 9: | Zeile 9: | ||
| für den BASIC-Interpreter) rationell aufgestellt und getestet werden sollen. | für den BASIC-Interpreter) rationell aufgestellt und getestet werden sollen. | ||
| - | Mit IDAS hat der Anwender die Möglichkeit, | + | Mit IDAS hat der Anwender die Möglichkeit, |
| ===== Speicherbelegung ===== | ===== Speicherbelegung ===== | ||
| - | RAM-Version 0400h-1BFFh | ||
| - | ROM-Version 0C000h-0E7FFh | + | | Dateiname |
| + | | Laden in | OS | | ||
| + | | Programmstandort | ||
| + | | OS-Kommando | ||
| Der Speicher von 300h-400h wird als Arbeitsspeicher genutzt. | Der Speicher von 300h-400h wird als Arbeitsspeicher genutzt. | ||
| - | Es gibt zwei ROM-Versionen: | + | Es gibt zwei ROM-Versionen: |
| + | Da der IDAS nur ~ 6KByte Speicher belegt, sind im Modul noch 4K ROM frei. Das robotron-IDAS-Modul meldet sich mit "IDAS :" und enthält im zusätzlichen Speicher den ZM 2.0 (Z9001 MONITOR V2.0 (ROM) 1985) und die EPROM-Software für das Programmier-Modul. | ||
| + | Der IDAS bei U. Zander meldet sich mit " | ||
| - | Der IDAS bei U. Zander meldet sich mit " | + | Auch von der RAM-Version gibt es verschiedene Fassungen |
| - | Auch von der RAM-Version | + | ===== Downloads ===== |
| + | |||
| + | * {{ : | ||
| + | * http:// | ||
| ===== Anleitung ===== | ===== Anleitung ===== | ||
| Zeile 51: | Zeile 58: | ||
| Im Editmode erfolgt die Eingabe des Quelltextes in der Form: | Im Editmode erfolgt die Eingabe des Quelltextes in der Form: | ||
| - | | + | |
| Eine Marke kann stehen, muss aber nicht. Kommentare sind nicht | Eine Marke kann stehen, muss aber nicht. Kommentare sind nicht | ||
| möglich. | möglich. | ||
| + | |||
| + | Das Tabulatorzeichen ist nicht zulässig, es muss mit Leerzeichen gearbeitet werden! | ||
| Verarbeitet wird ROBOTRON-Code für U880. | Verarbeitet wird ROBOTRON-Code für U880. | ||
| Zeile 61: | Zeile 70: | ||
| < | < | ||
| - | | + | |
| - | M1: LD M,A | + | M1: LD M,A |
| - | JR M1-# JR M1 IN 3CH IN A,(3CH) | + | JR M1-# JR M1 |
| - | JMP M1 JP M1 CMP 0 CP 0 | + | JMP M1 JP M1 |
| - | JRC M1-# JR C,M1 ADD B ADD A,B | + | JRC M1-# JR C,M1 |
| - | JPZ M1 JP Z,M1 JMP M JP (HL) | + | JPZ M1 JP Z,M1 |
| - | CANZ M1 CALL NZ,M1 | + | CANZ M1 CALL NZ,M1 |
| DJNZ M1-# DJNZ M1 | DJNZ M1-# DJNZ M1 | ||
| + | OUT 80H OUT (80H),A | ||
| + | | ||
| + | CMP 0 CP 0 | ||
| + | ADD B ADD A,B | ||
| + | JMP M JP (HL) | ||
| + | | ||
| </ | </ | ||
| Zeile 82: | Zeile 97: | ||
| | END | Ende des Quelltextes ; danach dürfen keine Befehle mehr stehen, sonst Absturz möglich | | | END | Ende des Quelltextes ; danach dürfen keine Befehle mehr stehen, sonst Absturz möglich | | ||
| - | Zahlenwerte | + | Zahlenwerte |
| Zahlen | Zahlen | ||
| Die Verwendung von ASCII-Zeichen ist möglich, wenn diese in Hochkommas eingeschlossen werden. | Die Verwendung von ASCII-Zeichen ist möglich, wenn diese in Hochkommas eingeschlossen werden. | ||
| - | Bsp.: | + | Bsp.: '' |
| === Kommandos === | === Kommandos === | ||
| | ASGN | Speicherplatzuweisung (s.o.) | | | ASGN | Speicherplatzuweisung (s.o.) | | ||
| - | | CM | Rückkeher | + | | CM | Rückkehr |
| | LIST marke | Anzeige Quelltext ab Marke | | | LIST marke | Anzeige Quelltext ab Marke | | ||
| | LIST zeile1, | | LIST zeile1, | ||
| Zeile 102: | Zeile 117: | ||
| | ADDR markename | | ADDR markename | ||
| | PUT konstante | | PUT konstante | ||
| - | | DR | Anzeige Register (display register) | | + | | DR | Anzeige Register (display register)\\ Flags: S Z x H x P/V N C | |
| | DS | Speicher | | DS | Speicher | ||
| | READ | Eingabe von Quelltext (an den Anfang)\\ durch ' | | READ | Eingabe von Quelltext (an den Anfang)\\ durch ' | ||
| Zeile 125: | Zeile 140: | ||
| | +SYM+ | Symbolfehler | | | +SYM+ | Symbolfehler | | ||
| - | (Ein "beliebter" | + | Ein beliebter Fehler: in der Eingabezeile sind Control-Zeichen enthalten. Deshalb: keine Cursortasten benutzen! |
| + | ===== Beispiel ===== | ||
| + | |||
| + | < | ||
| + | IDAS : N | ||
| + | + 1 JR START-# | ||
| + | + 2 TXT: DB 'HALLO Z9001' | ||
| + | + 3 DB 0 | ||
| + | + 10 START: LD DE,TXT | ||
| + | + 20 LD C,9 | ||
| + | + 30 CALL 5 | ||
| + | + LIST | ||
| + | 00001 | ||
| + | 00002 | ||
| + | 00003 | ||
| + | 00010 | ||
| + | 00020 | ||
| + | 00030 | ||
| + | + RUN | ||
| + | HALLO Z9001+ | ||
| + | + ASGN | ||
| + | TB (2000H-206BH, | ||
| + | MC (1C00H-1C16H, | ||
| + | </ | ||
| + | |||
| + | erzeugter Maschinencode: | ||
| + | < | ||
| + | MC: | ||
| + | 1C00 18 0C 48 41 4C 4C 4F 20 5A 39 30 30 31 00 11 02 | ||
| + | 1C10 1C 0E 09 CD 05 00 C3 0A 05 00 FF 00 FF 00 FF 00 | ||
| + | |||
| + | 1C00 18 0C JR 1C0EH | ||
| + | 1C02 48.. DB "HALLO Z9001", | ||
| + | 1C0D 31 00 11 | ||
| + | 1C11 0E 09 LD C,09H | ||
| + | 1C13 CD 05 00 | ||
| + | 1C16 C3 0A 05 | ||
| + | </ | ||
| + | JP 050Ah wird automatisch am Ende ergänzt und ist der Rücksprung in die Kommandoschleife. | ||
| + | |||
| + | Textspeicher: | ||
| + | < | ||
| + | TB: | ||
| + | 2000 01 00 12 32 02 00 1C 00 4A 52 00 53 54 41 52 54 | ||
| + | 2010 2D 23 02 00 1B 64 0B 02 1C 54 58 54 00 44 42 00 | ||
| + | 2020 27 48 41 4C 4C 4F 20 5A 39 30 30 31 27 03 00 0C ' | ||
| + | 2030 64 01 0D 1C 00 44 42 00 30 0A 00 16 62 03 0E 1C | ||
| + | 2040 53 54 41 52 54 00 4C 44 00 44 45 00 54 58 54 14 | ||
| + | 2050 00 0E 62 02 11 1C 00 4C 44 00 43 00 39 1E 00 0E | ||
| + | 2060 3A 03 13 1C 00 43 41 4C 4C 00 35 00 FF 00 FF 00 : | ||
| + | |||
| + | 2000 01 00 | ||
| + | 2012 02 00 | ||
| + | 202D 03 00 | ||
| + | 2039 0A 00 | ||
| + | 204F 14 00 | ||
| + | 205D 1E 00 | ||
| + | 206B | ||
| + | |||
| + | 2 Byte Zeilennummer (hex) | ||
| + | 1 Byte Länge | ||
| + | 2 Byte Token + Parameter (zB. Länge bei DB) | ||
| + | 2 Byte Adr MC-Code | ||
| + | Marke (optional), | ||
| + | | ||
| + | Token: (Liste | ||
| + | 32 JR | ||
| + | 3A CALL | ||
| + | 62 LD | ||
| + | 64 DB | ||
| + | </ | ||
| + | |||
| + | Auf Kassette gespeicherte Quelltexte haben ein Format analog zum [[edas|]]: | ||
| + | * Dateiendung .TXT (wird automatisch angehängt) | ||
| + | * keine Zeilennummern | ||
| + | * Zeilenende 0Dh | ||
| + | * Dateiende 00h | ||
| + | |||
| + | < | ||
| + | Block 00 | ||
| + | 00000080h: 4A 52 20 53 54 41 52 54 2D 23 0D 54 58 54 3A 20 ; JR START-# | ||
| + | 00000090h: 44 42 20 27 48 41 4C 4C 4F 20 5A 39 30 30 31 27 ; DB 'HALLO Z9001' | ||
| + | 000000a0h: 0D 44 42 20 30 0D 53 54 41 52 54 3A 20 4C 44 20 ; .DB 0.START: LD | ||
| + | 000000b0h: 44 45 2C 54 58 54 0D 4C 44 20 43 2C 39 0D 43 41 ; DE,TXT.LD C,9.CA | ||
| + | 000000c0h: 4C 4C 20 35 0D 00 00 00 00 00 00 00 00 00 00 00 ; LL 5............ | ||
| + | </ | ||
| + | ===== Versionen ===== | ||
| - | ===== Hinweise ===== | + | Vom IDAS gibt es mehrere verschiedene Versionen, die sich im Detail unterscheiden (Startmeldung, |
| - | Vom IDAS gibt es meherere verschiedene Versionen, die sich im Detail unterscheiden (Startmeldung, | + | 2025 habe ich IDAS reassemblieren müssen((IDAS Laden/ |
| **IDAS RAM-Version Kassette R0122**\\ | **IDAS RAM-Version Kassette R0122**\\ | ||
| Zeile 138: | Zeile 239: | ||
| 4. Block CRC = 6904, SUM = 3FC4 | 4. Block CRC = 6904, SUM = 3FC4 | ||
| - | **mein Modul idas.rom**\\ | + | **robotron |
| 1. Block CRC = 7938, SUM = 8F16\\ | 1. Block CRC = 7938, SUM = 8F16\\ | ||
| 2. Block CRC = 1809, SUM = F6E1\\ | 2. Block CRC = 1809, SUM = F6E1\\ | ||
| Zeile 145: | Zeile 246: | ||
| 5. Block CRC = E250, SUM = D35F | 5. Block CRC = E250, SUM = D35F | ||
| - | idas.rom = IDAS von Modul M002..M006\\ | + | * idas.rom = IDAS von Modul M002..M006 |
| - | Meldung mit " | + | |
| - | enthält ZM Z9001 MONITOR V2.0 (ROM) 1985\\ | + | |
| - | EPROM (Software für robotron-EPROMMER)\\ | + | |
| - | ZM hat Register C und E vertauscht wie in ZM30 der Kassette R0112\\ | + | |
| - | IDAS entspricht der Version von Kassette R0122 (nur auf andere Adr. gelinkt) | + | |
| **ROM-Version U. Zander idas_c0.851**\\ | **ROM-Version U. Zander idas_c0.851**\\ | ||
| Zeile 159: | Zeile 260: | ||
| 5. Block CRC = B139, SUM = EE30 | 5. Block CRC = B139, SUM = EE30 | ||
| - | idas_c0.851 = IDAS von UZ,\\ | + | * idas_c0.851 = IDAS von UZ, |
| - | Meldung mit " | + | |
| - | enthält ZM Z9001 MONITOR CENT. 1986\\ | + | |
| - | QUICK, NORMAL, QLOAD\\ | + | |
| - | IDAS entspricht nicht der Version von Kassette R0122\\ | + | |
| - | IDAS entspricht nicht der Beschreibung (Seite 3: Nach dem Start meldet sich der | + | |
| - | Assembler mit der Ausschrift 'IDAS :') | + | |
| **ROM von W. Hasche idas_whasche.rom**\\ | **ROM von W. Hasche idas_whasche.rom**\\ | ||
| Zeile 174: | Zeile 274: | ||
| 5. Block CRC = 4FDA, SUM = C4F0 | 5. Block CRC = 4FDA, SUM = C4F0 | ||
| - | die letzten 2K sind vermutlich falsch EPROM5 = EPROM4 (bis auf ein Bit)\\ | + | * die letzten 2K sind vermutlich falsch EPROM5 = EPROM4 (bis auf ein Bit), damit entspricht idas_whasche.rom höchstwarscheinlich idas_c0.851 |
| - | damit entspricht idas_whasche.rom höchstwarscheinlich idas_c0.851 | + | |
| + | **ROM-Version Bereich 8000h**\\ | ||
| + | diese Version war bei Ebay versteigert worden. Leider ist die Software nicht publik.\\ | ||
| + | 2025: Ich kann jetzt aber eine solche ROM-Version kompilieren. | ||