Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » KC87 - Jumping Jack » Themenansicht

Autor Thread - Seiten: -1-
000
11.01.2021, 11:26 Uhr
Hobi



Ich war schon immer ein Fan von platformübergreifender Programmierung, daher habe ich Jumping Jack für den KC87 angepasst und versucht, das Original möglichst unverändert zu lassen.

Durch die Anpassung von 32 Zeilen auf 24 ist etwas schwieriger geworden es zu spielen, da man nur noch 6 Zeilen, statt 8 Zeilen zum Springen hat.

KC87 Jumping Jack.bin

Ladeadresse ist: 0x0300

und so wie es aussieht, habe ich beim KC87 noch etwas Test-Code vergessen. Die Taste 'U' lässt das Männchen ganz nach oben springen.


--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 11.01.2021 um 11:40 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
15.01.2021, 20:41 Uhr
G.Fischer



Die Portierung auf den KC87 ist ziemlich gut gelungen.
Nur mit der Tastaturabfrage scheint es ein kleines Problem zu geben. Tastendrücke werden anscheinend doppelt ausgeführt. Lässt sich das noch korrigieren?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
17.01.2021, 15:50 Uhr
Hobi



so nächster Versuch: Das Problem sollte jetzt gelöst sein. Die Inkey Routine springt direkt auf 0xFD33.

Eventuell könnte man die Schachfiguren vom Z1013 ersetzen oder noch eine 7. Zeile hinzufügen.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
17.01.2021, 16:18 Uhr
robbi
Default Group and Edit
Avatar von robbi

Das ist keine gute Lösung. Ich wurde zurecht immer dafür kritisiert, weil ich solche Sprünge in das System verwendet habe, um Code zu sparen.
Beim neuen System sind die Tasten nicht in einer riesigen Tabelle abgelegt, sondern werden berechnet. Lediglich eine Matrix und die Sondertasten sind in einer erheblich kleineren Tabelle abgelegt. Dadurch sind alle Tasten der Matrix erreichbar. Es wird der Platz für die bisherige Tabelle eingespart. Damit sind Bereiche für die Erweiterungen frei.

Man sollte also Systemrufe verwenden oder den Code mit ins Programm übernehmen!
--
Schreib wie du quatschst, dann schreibst du schlecht.

Dieser Beitrag wurde am 17.01.2021 um 16:22 Uhr von robbi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
17.01.2021, 17:23 Uhr
Hobi



Es gibt keinen Systemaufruf für die inkey Funktion. Und nach all den Jahren der Nachfrage auch keine bessere Lösung, von der Idee den Kode zu kopieren mal abgesehen.

Das Löschen des Tastenpuffers reicht ebenfalls nicht. Es stört noch die Repeat-Funktion.

Hier bin ich dann doch ratlos am Ende.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
17.01.2021, 19:42 Uhr
robbi
Default Group and Edit
Avatar von robbi

Da wird das Spiel dann nicht mit dem neuen System laufen, wenn endlich die Schlepprechnertastaturen im Z9001 eingebaut werden. Schade.
--
Schreib wie du quatschst, dann schreibst du schlecht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
17.01.2021, 20:01 Uhr
Hobi



Noch wie ich nicht, was du meinst. Vielleicht ist es möglich ein gemeinsames Interface zu definieren.

Im einfachsten Fall kann man die Adresse beibehalten und dort die INKEY Funktion platzieren.
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 17.01.2021 um 20:04 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
18.01.2021, 08:12 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

FD33 ist DECO0 (dekodierenTastaturmatrix), das ist im OS-Handbuch beschrieben.
Auch im geänderten Monitor liegt diese Routine an derselben Stelle.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
18.01.2021, 08:38 Uhr
Hobi



Welche Aussage stimmt jetzt? Robbi meint es würde nicht laufen.
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
18.01.2021, 09:21 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Ich habe keinen physischen Rechner mit Ulrichs Laptop-Tastatur und auch nicht mit Ulrichs geändertem Betriebs-System. Im Emulator kann man das geänderte System testen, außerdem sind in z9_rb.pdf (aus http://www.sax.de/~zander/z9001/ex.html, ZIP-Archiv ROM-Bank-Modul) die Änderungen im OS beschrieben. DECO ist hier abweichend implementiert, aber die Adresse FD33 bleibt.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
19.01.2021, 11:45 Uhr
phil91

Avatar von phil91

Ich werde es mal anspielen, mein KC87 freut sich bestimmt über neues Futter.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
19.01.2021, 15:39 Uhr
Hobi



Robbi, kannst du mir sagen, ob es bei dir auch funktioniert?
--
-------------------------------------------
Corontäne
-------------------------------------------
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
19.01.2021, 16:11 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Die neue Version lässt das Männchen richtig springen, dafür kann ich bei der Highscore nichts mehr eingeben. Das Programm hängt hier fest.

Tipp: die bin-Datei als jumping_0300.bin benennen, dann lädt sie JKCEMU gleich auf Adresse 300h. Oder gleich eine KCC-Datei produzieren
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
19.01.2021, 16:58 Uhr
Hobi



grrrr. Da muss ich schauen. Geht:

KC87 Jumping Jack

call FD33 schaltet als Seiteneffekt die Interrupts aus. Das steht so genau nicht in der Beschreibung. Dank Polling sind mir die Interrupts eigentlich egal, solange man keine OS Funktionen aufrufen muss!

_300. ich habe mich schon über die Funktion gewundert. Aber in Zukunft kommt die Datei mit KCC Header.

Wenn es die Arbeit erleichtert, könnte ich auch das WAV-File erstellen.

Danke dir Robbi. Eventuell noch ein Versuch?
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 19.01.2021 um 18:34 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
19.01.2021, 17:11 Uhr
robbi
Default Group and Edit
Avatar von robbi

- Datei aus dem Internet holen und auf einer DOS-Diskette abspeichern
- am Konvertierungsrechner (DOS) auf eine 800K-Diskette kopieren
- von der 800K-Diskette am Z9001 unter CP/M mit POWER die Datei ab 4000H abspeichern
- CP/M verlassen und mit dem ZM30 den Speicherbereich 4000H bis 4BFFH nach 300H kopieren
- ZM verlassen
- JUMP aufrufen:



und dann



geht nichts mehr. Es gibt keine Reaktion auf irgendeine Tastatureingabe.

Die Tastaturroutinen sind also weitgehend geblieben, nur die Tabelle ist ersetzt worden und die Unterprogramme sind noch am selben Ort. Habe da auch nochmal nachgesehen (DEC00)

Nachtrag:
- ZM30 aufrufen
- Speicherbereich 300H bis EFFH auf Kassette auslagern
- JUMP steht auf Kassette jederzeit zur Verfügung


Auch wenn ich einen Emulator oder USB hätte, würde ich das immer so machen!
--
Schreib wie du quatschst, dann schreibst du schlecht.

Dieser Beitrag wurde am 19.01.2021 um 17:17 Uhr von robbi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
21.01.2021, 13:44 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Hallo robbi,

Ein paar Schritte kannst Du einsparen, wenn Du die Software vom Kombimodul nutzt:

- Datei aus dem Internet holen und auf einer DOS-Diskette abspeichern
- am Konvertierungsrechner (DOS) auf eine 800K-Diskette kopieren, z.B. als JUMP.BIN

- DOSX starten (Diskettenzugriff im OS)
- ggf. noch mit DRIVE A: das Laufwerk wechseln
- LOAD 300 1 eingeben (ab Adresse 300 laden, Kein Kopfblock vorhanden)
Abfrage nach "Filename:" hier den Filenamen JUMP.BIN eingeben
- Start mit RUN 300 oder mit "JUMP"
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
21.01.2021, 16:34 Uhr
robbi
Default Group and Edit
Avatar von robbi

Am Rande des Themas:
Unter
http://hc-ddr.hucki.net/wiki/doku.php/z9001:software:disk_os
fand ich nur die Befehle DRIVE, DDIR, DDELETE, DOS, CAOS, DDUMP und OS-SAVE.

LOAD und SAVE habe ich in der Beschreibung nicht gesehen, erst eben. HELP DOSX brachte keine Ergebnisse, kein Wunder, wenn es HELP DOS heißt... Aber auch da steht es so nicht drin.
Trotzdem danke für den Tipp.

Nachtrag:
Es muß aber immer die Bank 00 aktiv sein!!!
--
Schreib wie du quatschst, dann schreibst du schlecht.

Dieser Beitrag wurde am 21.01.2021 um 17:31 Uhr von robbi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
22.01.2021, 07:53 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

LOAD gehört zur Megamodul-Software und nicht zu DOSX. Es ist für verschiedene Datenträger nutzbar (je nach geladenem Treiber).

https://hc-ddr.hucki.net/wiki/doku.php/z9001/software/mega#dateiarbeit

Das steht auch alles und sogar etwas ausführlicher im Handbuch zur Megamodul/Kombimodul-Software
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 22.01.2021 um 09:06 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
25.01.2021, 09:35 Uhr
dragonfly45



Hallo,
@Volker, bin heute nach deiner Anweisung zum Laden des Programms vorgegangen.
DOSX startet, Drive A: geht, DDIR zeigt mir die Datei auf Laufwerk A: an.

Bei LOAD 300 1 , kommt Error und der Bildschirm wird mit Zeichen vollgeschrieben?

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
25.01.2021, 10:34 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Das kann eigentlich nicht passieren. Stand hinter error noch eine Nummer?
Gibt man beim Laden einen falschen Namen ein, kommt "BOS-error: file not found"


Quellcode:

>DOSX
SHADOW DISK OS V.Pohlers 3/16/2020
  A:, B: Floppy
  P:     RAF2008
current drive: P
>DRIVE A:

>DDIR

A: 20Z      COM : 24Z      COM
A: BOOT360  DAT : BOOT720  DAT
A: CLOCK    COM : DIP      COM
A: FORMATZ  COM : RAF2X20P COM
A: RAF2X24O COM : READCASS COM
A: RESET    COM : STAT     COM
A: UZ80BW   COM : UZ80C    COM
A: UZ80EX   COM : ZBASIC   COM
A: ZBASICT  COM : ZDIR     COM
>LOAD 300 1
Filename: ABC

BOS-error: file not found                (Strg-C drücken)
>LOAD 300 1
Filename: BOOT360.DAT

>DUMP 300 32F
0300  EB 3C 90 49 42 4D 20 20  _<?IBM
0308  34 2E 30 00 02 02 01 00  4.0.....
0310  02 70 00 D0 02 FD 02 00  .p._.?..
0318  09 00 02 00 00 00 00 00  ........
0320  00 00 00 00 00 00 29 E7  ......)_
0328  0E 43 35 53 43 48 57 41  .C5SCHWA
>                                      





Welche Version der Megamodul-Software hast Du?
Gibt mal VER ein.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
25.01.2021, 16:08 Uhr
dragonfly45



Hallo Volker,
ich hab das Kombimodul von robbi. Es geht alles so wie bei dir bis zum DDIR Befehl.
Wenn ich dann LOAD 300 1 eingebe kommt nicht die Zeile mit Filename: sondern sofort error ein Hupton und der Bildschirm wird mit Zeichen vollgeschrieben. Die Datei auf der Diskette hab ich Jumping.bin genannt.

MfG Dietmar

Dieser Beitrag wurde am 25.01.2021 um 16:09 Uhr von dragonfly45 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
25.01.2021, 20:02 Uhr
robbi
Default Group and Edit
Avatar von robbi

Es gibt immer wieder unerklärliche Probleme mit dem SRAM. Er merkt sich alles Mögliche aus der vorherigen Sitzung. Auch wenn nicht in diesen Code gesprungen wird. Nach CLEAN sind die Fehler und Effekte sehr häufig weg. Z.B. auch nach BOOT und einem Fehlversuch, weil die Diskette nicht drin steckte. Bei einem zweiten Versuch gibt es Abstürze der beschriebenen Art.
Deswegen habe ich auch CLEAN eingeführt.
--
Schreib wie du quatschst, dann schreibst du schlecht.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
26.01.2021, 10:37 Uhr
dragonfly45



Hier mal ein Bild meiner Eingaben



Nach dem LOAD Befehl werden Zeichen auf dem Bildschirm geschrieben, manchmal wird auch der ganze Bildschirm beschrieben.

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
26.01.2021, 13:09 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Leider hat genau diese Version einen Fehler bei LOAD (reproduzierbar)
In der Nachfolgeversion vom 05.03.2019 und aktueller wurde das behoben.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 26.01.2021 um 13:10 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
26.01.2021, 15:27 Uhr
dragonfly45



Hallo Volker,
wo finde ich die neue Version?

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
27.01.2021, 10:35 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

https://hc-ddr.hucki.net/wiki/doku.php/z9001/software/mega#download

Im Paket mega_flash.zip ist die Datei "kombimodul.bin" für das Kombi-Modul von U.Zander die Richtige.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
27.01.2021, 10:53 Uhr
dragonfly45



Hallo,
habe jetzt die neue Version des Kombimoduls ins EPROM geschrieben, damit geht das Laden.

Kann mir mal jemand das Spiel als BIN-Datei zukommen lassen, der Link geht nicht

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
27.01.2021, 13:16 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

https://github.com/anchorz/symbolic-disassembler/blob/master/Jumping%20Jack/obj/z9001/jumping.kcc

Das ist jetzt ein kcc-File (mit Header).

Datei auf Diskette bringen, DOSX starten, DRIVE A:, und dann gleich mit JUMPING laden und starten. Ein Umweg über LOAD 1 ist nicht nötig.

Ein erneuter Start ist mit dem Kommando JUMP möglich.

Für HOBI: Der Programmname im Header ist JUMPINGJ, der Dateiname nur JUMPING. Der Name sollte gleich sein.
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
27.01.2021, 20:28 Uhr
dragonfly45



@VolkerP
danke dir, jetzt versteh ich schon etwas mehr

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
27.01.2021, 20:28 Uhr
dragonfly45



@VolkerP
danke dir, jetzt versteh ich schon etwas mehr

MfG Dietmar
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
28.01.2021, 09:57 Uhr
dragonfly45



Hallo,
jetzt hat alles geklappt:




nochmal vielen Dank an VolkerP

MfG Dietmar

Dieser Beitrag wurde am 28.01.2021 um 09:58 Uhr von dragonfly45 editiert.
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