Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » KC-BASIC und geheime Speicherstellen » Themenansicht

Autor Thread - Seiten: -1-
000
22.12.2020, 21:14 Uhr
Bert



Hallo Forum!

Gibt es irgendwo eine Dokumentation der Systemzellen, die vom KC-BAISC genutzt werden?
Man hat ja früher gerne mal Programme geschützt, so das LIST nur einen ERROR erzeugt.

Bisher habe ich die Stellen 0304h und 0305h für die USR-Funktion gefunden.
Außerdem scheint auf Adresse 03D7h die Länge des Programms zu stehen.
Aber was steht z.B. an der Speicherstelle 0362h?

Irgendwo muß es doch dazu eine Doku geben, ohne das man BASIC disassemblieren (und verstehen) muss. Im BASIC-Handbuch vom KC85/4 habe ich dazu nichts gefunden.

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
22.12.2020, 21:23 Uhr
Lippi

Avatar von Lippi

Früher hatte ich einige Tricks von den BöGames abgeschaut - leider aber alles in den Jahren vergessen ...
In manchen Spielen kann man aber gut nachschauen, was und wo die etwas "Poken".

Allerdings bekommt man das natürlich auch wieder "repariert" :-)
--
MfG Mario
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
22.12.2020, 21:28 Uhr
wpwsaw
Default Group and Edit


...war das nicht so, das etwas spezielles in der erste BASIC Zeile stehen musste und dadurch das auflisten verhindert wurde...

wpw
--
RECORD, CRN1; CRN2; PicoDat; LC80; Poly880; KC85/2,3,4,5 ; KC87; Z1013; BIC; PC1715; K8915; K8924; A7100; A7150; EC1834; und P8000 ab jetzt ohne Tatra813-8x8 aber mit W50LA/Z/A; P3; ES175/2 und Multicar M25 3SK; Barkas B1000 HP
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
22.12.2020, 21:35 Uhr
Lippi

Avatar von Lippi

Da gibts viele Tricks. Man kann auch nach Programmstart den Basicanfang falsch setzen. Basic findet die Zeilen, bei List aber sind sie einfach nicht zu sehen :-)
--
MfG Mario
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
23.12.2020, 00:22 Uhr
robbi
Default Group and Edit
Avatar von robbi

BASIC-Arbeitszellen vom Z9001:
http://www.sax.de/~zander/z9001/baszell.pdf

Für spezielle Tricks kann man auch im RAM-BASIC im Interpreter patchen und dadurch das Startverhalten nach dem Laden verändern.
--
Schreib wie du quatschst, dann schreibst du schlecht.

Dieser Beitrag wurde am 23.12.2020 um 00:25 Uhr von robbi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
23.12.2020, 01:34 Uhr
schnaari



Moin,

im Buch "Basic - effektiv programmieren" von Horst Völz ist das KC-Basic
umfänglich erklärt. Token-Tabelle, Speicherbelegung, Arbeitszellen (300-3FF),
kommentiertes ROM-Listing usw.
Leider habe ich nur das Buch, aber kein PDF davon.

Gruß Frank
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
23.12.2020, 08:29 Uhr
ralle



Eine mögliche Ursache, FA Heft 12 1989:


--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
23.12.2020, 12:03 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Basic-Tricks: s. https://hc-ddr.hucki.net/wiki/doku.php/z9001/basic_tipps

Die Interna des BASIC sin in einer MP und auch im BASIC-Buch von Völz beschrieben. Die wichtigsten BASIC-System-Zellen stehen auch im Handbuch zum Z9001/KC87.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
23.12.2020, 13:41 Uhr
ralle



Das was ich in der FA gesucht habe, habe ich nicht gefunden. Dafür Anschluß einer BUS oder Joystickmaus am KC85/4 und andere lustige Dinge...

Aber es ging mit POKE einen LIST-Schutz einzubauen.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700

Dieser Beitrag wurde am 23.12.2020 um 13:42 Uhr von ralle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
23.12.2020, 19:05 Uhr
maleuma



LIST-Schutz:
POKE 862,1
Aufheben:
POKE 862,0
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
26.12.2020, 11:03 Uhr
Bert




Zitat:
Lippi schrieb
Früher hatte ich einige Tricks von den BöGames abgeschaut


Ja, genau um so ein Spiel geht es hier: CALYPSO

Hier ist eine Version von CALYPOSO (für den KC85/3), die alles in einer Datei beinhaltet:
http://kc85.info/index.php/download-topmenu/viewdownload/27-spiele/373-calypso.html

Für den KC85/4 müsste ich auch das BASIC-Programm darin anpassen.



Zitat:
wpwsaw schrieb
...war das nicht so, das etwas spezielles in der erste BASIC Zeile stehen musste und dadurch das auflisten verhindert wurde...


Ja, das gab es wohl auch. Hier in diesem Fall sind zwischen den Arbeitszellen und dem eigentlichen BASIC-Programm noch Zeichenbildtabellen untergebracht.



Zitat:
robbi schrieb
BASIC-Arbeitszellen vom Z9001:
http://www.sax.de/~zander/z9001/baszell.pdf


Super! Genau so eine Tabelle habe ich gesucht. Jetzt bräuchte man nur noch an der einen oder anderen Stellen eine Erklärung, was welcher Wert bewirkt.

Dank dieser Tabelle konnte ich mir einen kleinen Decoder schreiben:

Quellcode:

$ ./KCB_decode.py CALYPSO6.KCC
HEADER
======
Name:  bytearray(b'\xcd B:\x00\x03 E:9w')
Args:  2
Load : 0300h
End+1: 7739h
Start: BA0Ch
DATA
====
0300  Warmstart C389C0
0303  USR() C367C9
0306  Toradresse 00h
0307  E/A-Flag 00h
0308  OUT-Index 01h
0309  IN-Index 00h
030A  Trace-Flag 00h
030B  SBC-Routine D6006F7CDE006778DEC8473E00C9
0319  RND-Variable 190101
031C  RND-Daten 3524CA99391C76982295B3980ADD479853D199990A1A9F9865BCCD98D6773E98
033C  RND(0) 092C057F
0340  Anz. Dummy 0Bh
0341  Ausgabezeilen FFh
0342  Anz. Formate 1Bh
0343  Ausgabeunterdrückung 00h
0344  Zeilenzahl LIST 0000h
0346  Zeilenzahl LIST (wdh.) 0000h
0348  Prüfsumme CLOAD/CSAVE 0000h
03A4  Eingaberoutine 000000
034D  AUTO-Flag 00h
034E  akt. Zeilennummer 15B8h
0350  Zeilennummer Abstand 000Ah
0352  (NANF) 0000h
0354  (DISTAN) 0000h
0356  RAM-Mindestgröße 7EFFh
0358  akt. Zeilennummer FFFFh
035A  WINJP 0000C9
035D  DATBYTE 00h
035E  DATFLG (Listschutz) 19h
035F  Programadresse 1000h
0361  Eingabepuffer 009B000...0000000
03AC  Kursorposition 00h
03AD  Suche Variable 00h
03AE  Datentyp 01h
03AF  Datastmnt. Flag 00h
03B0  Memory Size 7FFFh
03B2  Ende Stringadressen+1 03B4h
03B4  Stringadressentabelle 03001DC30100F92B000000
03C0  Länge+Adresse akt. STR 03001DC3
03C4  Zeiger für String 7FFFh
03C6  Index letztes Byte 0365h
03C8  PC bei FOR-Suche 4096h
03CA  letzte DATA-Zeile 7940h
03CC  FOR-Flag 00h
03CD  Inputphase-Flag 00h
03CE  RD/RW-Flag FFh
03CF  Adr. aktueller Befehl 10E9h
03D1  Adr. nächstes Element 0365h
03D3  letzte Zeilennummer 2F44h
03D5  Adr. bei ERROR 0000h
03D7  Adr. Einfachvariablen 7739h
03D9  Adr. Feldvariablen 7739h
03DB  Adr. nach Listen 7739h
03DD  Adr. DATA/READ 0FFFh
03DF  Adr. FN-Statement 0000h
03E1  Arithmetikregister 0 00000000
03E5  Arithmetikregister 1 B4030030
03E9  Vorzeichen (SGN) C1h
03EA  PRINT-Puffer 20353400303030302020202020
03F7  Arithmetikregister 2 80000000
03FB  Listen-Flag 00h
03FC  Erweiterungs-Flag AFh
03FD  Print-Erweiterungsflag 03h
03FE  FARBBYTE 00h





Zitat:
schnaari schrieb
im Buch "Basic - effektiv programmieren" von Horst Völz ist das KC-Basic
umfänglich erklärt.


Sieht gut aus: https://d-nb.info/891416846/04

Eine Frage an Holger: Hast Du das Buch schon eingescannt?



Zitat:
ralle schrieb
Eine mögliche Ursache, FA Heft 12 1989:


Dort wird das ROM-BASIC zum RAM-BASIC gemacht und dann gepatcht.
Die m.E. elegantere Methode ist in BASVE.KCC umgesetzt: dort wird in den Eingabepuffer von BASIC das RUN-Token geschrieben, der BASIC-ROM zugeschalten und angesprungen.



Zitat:
volkerp schrieb
Basic-Tricks: s. https://hc-ddr.hucki.net/wiki/doku.php/z9001/basic_tipps

Die Interna des BASIC sind in einer MP und auch im BASIC-Buch von Völz beschrieben. Die wichtigsten BASIC-System-Zellen stehen auch im Handbuch zum Z9001/KC87.


Hast Du zufällig die Ausgabe der MP parat? Einige Ausgaben habe ich hier.
Das BASIC-Handbuch zum Z9001 scheint da ausführlicher zu sein, als das vom Mühlhausen-KC. Das muss ich mir mal näher zu Gemüte führen.



Zitat:
maleuma schrieb
LIST-Schutz:
POKE 862,1
Aufheben:
POKE 862,0


(862=035Eh)
Ja, das ist die einfache Variante. Bei CALYPSO waren Profis am Werk :-)
Zum Glück ist der BASIC-Editor vom JKCEMU noch einen Ticken besser und man kann sich den Quelltext anschauen...


Vielen Dank für die vielen hilfreichen Tipps!
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
27.12.2020, 19:54 Uhr
ambrosius



@Bert

Ja, das Buch ist unter 'Verlag Die Wirtschaft' in der Sammlung. Wer Interesse hat, einfach fragen.
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
15.05.2023, 21:55 Uhr
gerritsoft

Avatar von gerritsoft

Ein Tipp noch von Gerriti dem Lieben: Lines ist ein Befehl komme mit dem man die Anzahl der in jedem Rutsch angezeigten Basic Zeiten einstellen kann. Als Argument ist auch null möglich. Dann wird mit list gar nix angezeigt. Ihr wisst Bescheid ne?
--
Ich kann auch geschweißte Kassetten reparieren.
Null eins fuenf sieben acht eins neun zwei zwei vier vier neun. Bringen wir sie raus! Energie!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek