Robotrontechnik-Forum

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

Robotrontechnik-Forum » Sonstiges » CP/M Spiele in DDR entwickelt » Themenansicht

Autor Thread - Seiten: -1-
000
24.05.2016, 10:38 Uhr
Creep



Hallo,

ich kann mich erinnern, daß wir damals (ca. 1988/89) auf dem BC5120 unter CP/M ein paar Spiele (außer Ladder und Catchum) gespielt hatten, die irgendwo in der DDR entwickelt wurden. War es Ilmenau? Wo ich jetzt meinen FPGA CP/M Rechner fertig habe, suche ich die, konnte sie aber noch nicht finden.

Das eine war ein normales Tetris aber gut in Zeichensazugraphik realisiert. Mit Vorschau auf das nächste Teil un Levelvorwahl.

Das andere war ein Breakout Clone. Im Unterschied zu normalen Breakout/Arkanoid Varianten war der Schläger aber auf der linken Seite und ließ sich hoch/runter bewegen. Der Ball flog horizontal.

Kann sich hier vielleicht jemand daran erinnern oder hat die sogar? Ich hab noch eine alte CP/M Diskette rumliegen, die ich mal irgendwo einlesen wollte. Ich weiß aber nicht mehr, ob ich da auch die Spiele kopiert hatte.

Gruß, Rene
--
- Privatnachrichten bitte per Email. Mein Postfach ist immer knapp vor Überlauf -
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
19.11.2016, 20:29 Uhr
archeocomp



Ich suche auch CP/M Spiele. Auf dieser Seite http://www.robotrontechnik.de/index.htm?/html/software/spiele.htm gefallen mir vor allem Pilots,Wurmi und Labyrinth Spiele. Leider ein Link zum Archiv gibt es nich.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
20.11.2016, 12:08 Uhr
DL



Auf den PC1715-Disketten zu dem EMU sind auch etliche Spiele und andere nützliche Programme, die zum Teil auf anderen CP/M Systemen laufen. Die Diskettenimages sind mit diversen Programmen recht einfach zu extrahieren.

Mal als Beispiel mit dem Werkzeug des jkcemu

Dieser Beitrag wurde am 20.11.2016 um 14:04 Uhr von DL editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
20.11.2016, 19:01 Uhr
Klaus



Hallo Detlef,

das hat dank Deiner Videoanleitung prima mit JKCEMU funktioniert.
Ich konnte alle Disketten extrahieren.
Die Programme sind zwar für den PC1715, aber viele laufen auch auf meinem NANOS bzw. dem K1520-Bastel-Rechner.

Danke und viele Grüße,
Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
20.11.2016, 19:33 Uhr
archeocomp



Danke! Die Dateien kann man auch mit cpmtools extrahieren, format 17153.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
06.11.2023, 13:43 Uhr
ThomasR

Avatar von ThomasR

Es ist zwar nicht DDR, aber CP/M-Spiele - deswegen hänge ich es mal hier an.

Malcolm Tyrrell schrieb 2003 für den ZX Spectrum MazezaM, ein schön kniffliges Programm, halb Sokoban, halb Labyrinth:



Inzwischen gibt es dieses Knobelspiel auf einigen anderen Computern wie auch für den Windows-PC:



Ventzislav Tzvetkov ("drHirudo") schrieb eine COM-Datei für CP/M. Leider ist im RT-Forum kein File-Upload möglich - deswegen hier ein Link: hirudov.com/others/files/MazezaM_CPM.zip . Diese Version setzt als Terminal(emulation) VT52 voraus (dann ist auch die erste Zeile nicht verrutscht):



2020 schrieb Malcolm selbst eine Version für BasiCode. Sie läuft damit, den entsprechenden Bascoder vorausgesetzt, zum Beispiel unter BASI.COM:



Die CP/M-Versionen sind zwar nicht so farbenfroh wie die beiden erstgenannten Versionen, aber die Herausforderung der Rätsel ist unverändert. Obendrein bietet die BasiCode-Version den Vorteil, dass die Zahl der Versuche nicht begrenzt ist und man auch einfach in den nächsten Level springen kann. Aufgabe ist, das Labyrinth zu durchqueren, wofür jeweils eine komplette Zeile von Hindernissen verschoben werden kann.

Die Bedienung erfolgt mit den Klein- oder Großbuchstaben i, j, k, l. Der Bascoder ist hier bereits enthalten, also kann das Spiel sofort aus dem Basic-Interpreter gestartet werden. Möglicherweise wird der Dateiname in Großbuchstaben erwartet.

Viel Spaß damit!


Quellcode:
1 REM BASICODE 2 standaard inplementatie 21/4/83
2 REM                      door Henk Wevers
3 REM  Voor aanpassing aan computer/terminal
4 REM  zie basicode.doc file op deze diskette
5 REM initialisatie
6 REM Deze versie voor MBASIC 5.21 en hoger ! (met INKEY$)
7 PRINT CHR$(27);"*";CHR$(0);CHR$(0);CHR$(0);CHR$(26);:WIDTH(255)
10 GOTO 1000
19 REM regels 20-100 clear a, niet nodig voor mbasic
20 GOTO 1010
99 REM  regel 100-110 clear screen
100 PRINT CHR$(27);"*";CHR$(0);CHR$(0);CHR$(0);CHR$(26);:RETURN
109 REM regel 110 - 120 set cursor op HO en VE
110 REM TERMINAL = 24 X 80 !
111 IF HO>79 THEN HO=79
112 IF VE>23 THEN VE=23
113 PRINT CHR$(27);"=";CHR$(VE+32);CHR$(HO+32);
115 RETURN
119 REM regel 120-130 haal cursorpositie in HO en VE
120 IF HO > 79 THEN HO=80
121 IF VE > 23 THEN VE=23
122 REM  voor terminal 24 x 80
124 RETURN
200 IN=0:IN$=INKEY$:IF IN$<>"" THEN IN=ASC(IN$)
201 IN=IN+32*((IN>96)AND(IN<127))
202 IN=IN-27*(IN=1):IN=IN-23*(IN=6):IF IN=127 THEN GOSUB 120:IF HO>0 THEN IN$=CHR$(27)+"D "+CHR$(27)+"D" ELSE IN=0:IN$=""
203 RETURN
210 GOSUB 200:IF IN$<>"" THEN RETURN
211 GOTO 210
250 PRINT CHR$(7);:RETURN
260 RV=RND(1):RETURN
270 FR=FRE(2):RETURN
300 SR$=STR$(SR)
301 O7=LEN(SR$):IF O7=0 THEN RETURN
302 IF RIGHT$(SR$,1)<>" " THEN 304
303 SR$=LEFT$(SR$,O7-1):GOTO 301
304 IF LEFT$(SR$,1)<>" " THEN RETURN
305 SR$=RIGHT$(SR$,O7-1):GOTO 301
310 O4=SR:IF CN<>0 THEN 316
312 SR=INT(SR+.5):GOSUB 300:GOTO 330
316 O5=SGN(SR):SR=ABS(SR):O8=INT(SR):O9=SR-O8
318 FOR O6=1 TO CN:O9=O9*10:NEXT O6
320 O9=INT(O9+.5):SR=O9:GOSUB 300
322 O9$=RIGHT$("00000000000000000000"+SR$,CN)
324 IF O8=0 AND O9=0 THEN O5=1
326 SR=O8:GOSUB 300:IF O5=-1 THEN SR$="-"+SR$
328 SR$=SR$+"."+O9$
330 IF LEN(SR$)<=CT THEN 334
332 SR$=LEFT$("********************",CT):GOTO 340
334 SR$=RIGHT$("                    "+SR$,CT)
340 SR=O4:RETURN
350 LPRINT SR$;:RETURN
360 LPRINT:RETURN
1000 A=194:GOTO 20:REM *** MAZEZAM ***
1010 DIM R$(11):DIM Y(11):HO=14:VE=14
1310 HO=HO+1:R=HO:GOSUB 110:GOSUB 120:IF R=HO THEN 1310
1610 VE=VE+1:S=VE:GOSUB 110:GOSUB 120:IF VE=S THEN 1610
1910 GOSUB 100:VE=6:HO=(R-7)/2:GOSUB 110:PRINT"MazezaM":VE=S-6
1920 HO=0:GOSUB 110:PRINT" MOVE ijkl":PRINT"RETRY r"
1930 PRINT" SKIP s":PRINT" QUIT q":GOSUB 210
1940 IF IN<>81 THEN 1960
1950 GOSUB 100:END
1960 RESTORE:Z=0:N$="":T=0
2210 GOSUB 250:T=T+1:IF T=31 THEN 1910
2220 GOSUB 4910:N=W:GOSUB 4910:M=W:GOSUB 4910:P=W:GOSUB 4910:Q=W
2230 F=0:FOR C=0 TO N-1:R$(C)="":Y(C)=0:FOR D=0 TO M-1:A$="="
2240 IF F=0 THEN GOSUB 4910:F=6
2250 F=F-1:G=INT(W/2)*2:IF W=G THEN A$=" "
2260 R$(C)=R$(C)+A$:W=G/2:NEXT D:NEXT C:U=INT((R-M)/2)
2270 V=INT((S-N)/2)
2510 GOSUB 100
2810 VE=V-1:HO=U-1:W=P:X=0:GOSUB 4610:FOR I=0 TO N-1:Y(I)=0
2820 VE=VE+1:GOSUB 110:A$="#":B$=A$:IF I=P THEN A$=">"
2830 IF I=Q THEN B$=">"
2840 PRINT A$;:GOSUB 4010:PRINT B$:NEXT I:VE=VE+1:GOSUB 4610
2850 HO=HO+1
3110 GOSUB 210:D=W:E=X:IF (IN=73 OR IN=31) AND W>0 THEN D=W-1
3120 IF (IN=75 OR IN=30) AND W<N-1 THEN D=W+1
3130 IF (IN=74 OR IN=28) AND X>0 THEN E=X-1:F=1
3140 IF (IN=76 OR IN=29) AND X<M-1 THEN E=X+1:F=M
3150 IF (IN=76 OR IN=29) AND W=Q AND X=M-1 OR IN=83 THEN 2210
3160 IF IN=81 THEN 1910
3170 IF IN=82 THEN 2810
3180 I=D:GOSUB 4310
3190 IF MID$(J$,E+1,1)=" " THEN I=W:W=D:X=E:GOSUB 3710:GOTO 3410
3200 IF X<>E AND MID$(J$,F,1)=" " THEN Y(W)=Y(W)+E-X:X=E
3410 I=W:GOSUB 3710:GOTO 3110
3710 VE=V+I:GOSUB 110
4010 GOSUB 4310:IF I<>W THEN PRINT J$;:RETURN
4020 IF X>0 THEN PRINT LEFT$(J$,X);
4030 PRINT "@";:IF X<M-1 THEN PRINT RIGHT$(J$,M-X-1);
4040 REM B$="#":IF I=Q THEN B$=">"
4050 REM PRINT B$
4060 RETURN
4310 IF Y(I)=0 THEN J$=R$(I):RETURN
4320 IF Y(I)>0 THEN B=Y(I):C=M-B
4330 IF Y(I)<0 THEN C=-Y(I):B=M-C
4340 J$=RIGHT$(R$(I),B)+LEFT$(R$(I),C):RETURN
4610 GOSUB 110:PRINT LEFT$("#################",M+2):RETURN
4910 Z=Z+1:IF Z=LEN(N$)+1 THEN READ N$:Z=1
4920 B=ASC(MID$(N$,Z,1)):A=ASC("A"):G=ASC("a"):H=ASC("0")
4930 W=63:IF B>=A AND B<A+26 THEN W=B-A
4940 IF B>=G AND B<G+26 THEN W=B-G+26
4950 IF B>=H AND B<H+10 THEN W=B-H+52
4960 IF B=ASC("+") THEN W=62
4970 RETURN
25000 DATA "CFBAKBCHABykADHABmVZBDICBkTlKEFDDCtSCEHADq6oWCFHAE"
25010 DATA "cpQvKJDICCFQtdEHBCUspqDEOBD/2gZ20O4fCEHBB2UpDDGNAA"
25020 DATA "4D6zp7p8nLmqJFGDBCmW6EEICDcwOXKAGGAFUVUNN0EKACsy1Y"
25030 DATA "q7CEHADWk2hELFKAEtpocFlqJAEHCDKsRVOEPCAeeWbNavRzTF"
25040 DATA "ICC1sGq9gCELACuBzaerBAFIDBkjpuqJNEJDAiYP3QBHJGCyTa"
25050 DATA "6tJE3PEAGHAAy08CdPAKNHAAg8f6AT+l7MFZ63Ux5+DAAHJBEy"
25060 DATA "wq1w+0rJ6AKLAJAg+39oWA9/GuNYu+HAAHKAAaRdTF2OVZd0F"
30000 REM leicht abgeaendert Th. Rademacher JOYCE-User-AG e.V.
30010 REM Zeilen 4040 und 4050 fuer 8-bit-Atari aktivieren
32000 REM Autor: Malcohol (Malcolm Tyrrell) auf GitHub 2020


--
Tot wie ein Dodo?
viele Informationen zu BasiCode auf basicode.de

Cu via komputilo povas Esperanto?
Jes, BasiCode!

Dieser Beitrag wurde am 06.11.2023 um 16:25 Uhr von ThomasR editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Sonstiges ]  



Robotrontechnik-Forum

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