Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Software-Entwicklung, Compiler, Interpreter, ...
Benutzeravatar
bbock
Beiträge: 71
Registriert: 08.02.2015, 15:31

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von bbock » 17.05.2015, 19:05

Hier ist ein Screenshot des Apfelmännchens:
apfelm01.zip
(6.28 KiB) 1078-mal heruntergeladen
Die ZIP-Datei enthält den Screenshot APFELM01.DAT, der mit folgendem Programm eingelesen und betrachtet werden kann:

Code: Alles auswählen

10 REM Load screendump
15 GOSUB 54000: REM Load SCRNSAVE/SCRNLOAD Machine Code
200 a$="APFELM01.DAT" + CHR$(0)
210 CALL SCRNLOAD(a$,e%)
220 IF e%<>0 THEN PRINT "file load error"
230 IF INKEY$="" THEN 230
990 GOSUB 51230: REM Show Cursor
1000 STOP
50999 REM Screen On
51000 OUT 248,8
51010 RETURN
51099 REM Screen Off
51100 OUT 248,8
51110 RETURN
51199 REM Hide Cursor
51200 PRINT CHR$(27);"f";
51210 RETURN
51219 REM Show Cursor
51230 PRINT CHR$(27);"e";
51240 RETURN
51249 REM Clear Screen
51250 PRINT CHR$(27)+"H";CHR$(27)+"E";CHR$(27)+"f";
51260 RETURN
54000 REM Set up SCRNSAVE & SCRNLOAD machine-code routines
54010 MEMORY &HBFFF
54020 SCRNSAVE=&HC400:SCRNLOAD=&HC46D:A=SCRNSAVE:E%=0
54030 RESTORE 54150
54040 FOR F%=0 TO 100
54050 S%=0
54060 FOR G%=0 TO 15
54070 READ X$
54073 IF X$="$$" THEN GOTO 54120
54078 X%=VAL("&H"+X$)
54080 S%=S%+X%:POKE A,X%:A=A+1
54090 NEXT G%
54110 NEXT F%
54120 RETURN
54140 END
54150 DATA ED,73,4D,C5,31,6D,C5,D5,CD,DF,C4,CD,2C,C4,CD,04
54160 DATA C5,AF,F5,01,5C,C4,CD,5A,FC,E9,00,CD,3C,C4,F1,3C
54170 DATA FE,20,38,EE,CD,4C,C4,11,00,00,18,6A,0E,16,11,5C
54180 DATA 00,CD,05,00,3C,C0,D1,11,02,00,18,5A,0E,15,11,5C
54190 DATA 00,CD,05,00,A7,C8,D1,11,03,00,18,4A,0E,10,11,5C
54200 DATA 00,CD,05,00,3C,C0,D1,11,04,00,18,3A,CD,29,C5,EB
54210 DATA 11,6D,C5,01,D0,02,ED,B0,C9,3C,00,4A,00,ED,73,4D
54220 DATA C5,31,6D,C5,D5,CD,DF,C4,CD,B3,C4,CD,04,C5,AF,F5
54230 DATA CD,C3,C4,F1,F5,01,D3,C4,CD,5A,FC,E9,00,F1,3C,FE
54240 DATA 20,38,EC,11,00,00,D5,0E,1A,ED,5B,49,C5,CD,05,00
54250 DATA 0E,2C,3A,4B,C5,5F,CD,05,00,D1,E1,73,23,72,ED,7B
54260 DATA 4D,C5,C9,0E,0F,11,5C,00,CD,05,00,3C,C0,D1,11,02
54270 DATA 00,18,D3,0E,14,11,5C,00,CD,05,00,A7,C8,D1,11,03
54280 DATA 00,18,C3,CD,29,C5,21,6D,C5,01,D0,02,ED,B0,C9,7E
54290 DATA A7,28,1B,23,5E,23,56,21,45,C5,73,23,72,23,36,5C
54300 DATA 23,36,00,0E,98,11,45,C5,CD,05,00,7C,B5,C8,D1,11
54310 DATA 01,00,18,A6,0E,31,11,69,C4,CD,05,00,22,49,C5,0E
54320 DATA 1A,11,6D,C5,CD,05,00,0E,31,11,6B,C4,CD,05,00,32
54330 DATA 4B,C5,0E,2C,1E,06,C3,05,00,6F,26,00,29,29,29,29
54340 DATA 11,00,B6,19,5E,23,56,7B,E6,F8,CB,27,CB,12,47,7B
54350 DATA E6,07,B0,5F,C9,00,00,00,00,$$
Danke nochmal an Werner; ohne dich wäre es sehr viel komplizierter gewesen dieses Projekt zu realisieren.

Viele Grüße
Bernd

funkheld
Beiträge: 15
Registriert: 19.08.2020, 23:02

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von funkheld » 21.08.2020, 22:49

Hallo, mit welchen Basic habt ihr das zum laufen gebracht?
Auf der Start-CP/M ist ein Basic drauf.
Habe die CP/M Box auf Model 8256 eingestellt.

Danke.

wnb
Beiträge: 30
Registriert: 06.03.2015, 12:16
Wohnort: Werner aus Wolfhagen

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von wnb » 06.09.2020, 10:42

Die Antwort lautet „Mallard Basic“ von der CP/M Plus Boot-Diskette.

Den Emulator stellst Du am besten auf das Model 8512, da hast Du mehr Speicher und kannst das Laufwerk M: des JOYCE in ein Verzeichnis auf Deinem PC mappen (Options – Emulation – Mapping).

Nun noch das Apfelmännchen-Programm kopieren (siehe Listing vom 17. Mai 2015 18:55) und als Text-Datei (apfel.txt) in das gemappte Memory-Laufwerk der CP/M Box kopieren ... bitte darauf achten, dass die letzte Zeile des Listings in Deiner Text-Datei (54350 DATA ...) mit einem Zeilenumbruch / einem Return abgeschlossen wird.

CP/M Plus mit Mallard Basic booten.

Aufruf:
  • basic M:apfel.txt
oder
  • basic
    run "M:apfel.txt
Wenn der Bildschirm schwarz wird, die Beschleunigungstaste des Emulator drücken und nach wenigen Augenblicken werden auch die ersten grünen Pixel des Apfelmännchen sichtbar (was auf dem realen JOYCE Stunden dauert, schafft der Emulator mit Beschleunigung in nochnicht einmal zehn Minuten).

funkheld
Beiträge: 15
Registriert: 19.08.2020, 23:02

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von funkheld » 11.09.2020, 23:14

Danke für die Info.
Jetzt funktioniert es.

Kannst du bitte einmal von der Inline :

20 GOSUB 50000:REM Load graphics machine code

den ASM-Source hier reinstellen?

Gruss

Benutzeravatar
bbock
Beiträge: 71
Registriert: 08.02.2015, 15:31

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von bbock » 12.09.2020, 22:12

Der Assembler-Quellcode für den Grafikkern des Apfelmännchen-Programms ist nicht sicher bekannt; es könnte dieser hier sein:
https://joyceforum.de/viewtopic.php?f=5&t=4

Dieser Quellcode einer Plot-Routine ist ähnlich, aber für Turbo Pascal:
http://cpm.jenandcal.familyds.org/cpm/m ... EL-MAC.txt

funkheld
Beiträge: 15
Registriert: 19.08.2020, 23:02

Re: Wann habt ihr zuletzt ein Apfelmännchen programmiert?

Beitrag von funkheld » 13.09.2020, 14:07

Danke , dieser war es:
https://joyceforum.de/viewtopic.php?f=5&t=4

Habe ihn mal jetzt selber compiliert mit pasmo

gruss

Antworten