Super, gern geschehen!
detlef: Wenn Du ein paar davon übrig hast, wäre ich interessiert...
Super, gern geschehen!
detlef: Wenn Du ein paar davon übrig hast, wäre ich interessiert...
Georg: Wäre schön, wenn die ggf. Dateien mit Patchadressen hier reinhängst - für die "Nachwelt"..
Mach ich gleich
detlef: Wenn Du ein paar davon übrig hast, wäre ich interessiert...
Ich muss erst mal schauen, ob die überhaupt funktionieren. Ist ja, wie gesagt, Chinaware. Und noch nicht mal ausgepackt.
So, hier ist die Liste mit den Patchadressen.
An jeder der betreffenden Stellen steht im Original ein 0x60 - je nach Wunsch und Ausstattung muss dann dort ein 0x80 (RAM ab 0x8000) oder ein 0xE0 hin (kleine RAM-Karte ab 0xE000).
Im letzten Fall muss allerdings noch etwas geändert werden, damit das BASIC überhaupt RAM hat: Die obere Schranke muss von 0xE000 auf 0xF000 erhöht werden:
Adresse 0x30B2: 0xE0 => 0xF0
Adresse 0x30B7: 0xE0 => 0xF0
Update:
PeterSieg hat freundlicherweise die Sache intensiver getestet als ich
Dabei ist ihm prompt noch ein Fehler aufgefallen. Eine weitere Adresse musste noch gepatcht werden. Das habe ich inzwischen erledigt und die kritische Stelle gerade getestet - jetzt geht's.
Hier jetzt die aktualisierte Patchdatei, sowie die beiden ROM-Versionen für 32K/32K (RAM ab 8000) und 8K (RAM ab E000).
Weiterhin ist mir eben ein Tippfehler im letzten Post aufgefallen: Die E000-Version muss an den Adressen 30B1 (statt 30B2) und 30B7 korrigiert werden.
Das ist aber nur relevant, wenn man das Patchen selber machen will. Die hier angehängten Dateien sind schon komplett bearbeitet.
Ich hoffe, dass es das jetzt war, und dass ich nicht wieder neue Fehler eingebaut habe. Weitere Fehlermeldungen aber gerne an mich.
Ich suche gerne weitere Basic Programme für den MFA.
Er dürfte eine erweitertes Tiny Basic haben. Plus FOR-NEXT und PEEK+POKE. Kein USR()!
Hier hatte ich schon mal nach Tiny Basic Programmen gesucht - leider ohne wirklichen Erfolg:
Ur Integer Tiny Basic Programe gesucht
Weitere Links:
https://en.wikipedia.org/wiki/Tiny_BASIC
Ich lade die Programme mit minicom -ascii Transfer seriell in MFA. Dabei 150ms Zeichen-Delay und 1100ms Zeilen-Delay.
Fibonacci Folge:
23 Matches:
20 PRINT "23 MATCHES"
30 PRINT "CREATIVE COMPUTING, NEW JERSEY"
35 PRINT "MODIFIED BY PHILIP LORD FOR THE APPLE 1"
40 PRINT:PRINT:PRINT
80 PRINT "THIS IS A GAME CALLED '23 MATCHES'."
90 PRINT
100 PRINT "WHEN IT IS YOUR TURN, YOU MAY TAKE ONE,"
110 PRINT "TWO, OR THREE MATCHES. THE OBJECT OF "
120 PRINT "THE GAME IS NOT TO TAKE THE LAST MATCH."
130 PRINT
140 PRINT "LET'S FLIP A COIN TO SEE WHO GOES"
150 PRINT "FIRST. IF IT IS HEADS THEN I WIN"
155 PRINT "THE TOSS..."
155 PRINT
160 REM
165 N = 23
170 Q =RND(2)
180 IF Q = 1 THEN GOTO 210
190 PRINT "TAILS! YOU GO FIRST. "
195 PRINT
200 GOTO 300
210 PRINT "HEADS! I WIN! HA! HA!"
220 PRINT "PREPARE TO LOSE, MEATBALL-NOSE!!"
230 PRINT
250 PRINT "I TAKE 2 MATCHES"
260 N = N -2
270 PRINT "THE NUMBER OF MATCHES IS NOW "; N
280 PRINT
290 PRINT "YOUR TURN"
295 PRINT "YOU MAY TAKE 1, 2 OR 3 MATCHES."
300 PRINT "HOW MANY DO YOU WISH TO REMOVE"
310 INPUT K
320 IF K > 3 THEN GOTO 430
330 IF K <= 0 THEN GOTO 430
340 N = N - K
350 PRINT "THERE ARE NOW ";N;" MATCHES REMAINING."
351 IF N = 4 THEN GOTO 381
352 IF N = 3 THEN GOTO 383
353 IF N = 2 THEN GOTO 385
360 IF N <= 1 THEN GOTO 530
370 Z = 4 - K
372 GOTO 390
380 PRINT
381 Z = 3
382 GOTO 390
383 Z = 2
384 GOTO 390
385 Z = 1
390 PRINT "MY TURN! I REMOVE "; Z ;" MATCHES"
400 N = N - Z
410 IF N <= 1 THEN GOTO 470
420 GOTO 270
430 PRINT "VERY FUNNY! DUMMY!"
440 PRINT "DO YOU WANT TO PLAY OR GOOF AROUND?"
450 PRINT "NOW, HOW MANY MATCHES DO YOU WANT"
460 GOTO 310
470 PRINT
480 PRINT "SORRY! YOU TOOK THE LAST MATCH!"
490 PRINT "HA! HA! I BEAT YOU!!!"
500 PRINT
510 PRINT "GOOD BYE LOSER!"
520 GOTO 560
530 PRINT: PRINT "YOU WON, FLOPPY EARS!"
540 PRINT "THINK YOU'RE PRETTY SMART!"
550 PRINT: PRINT "LETS PLAY AGAIN (Y=1/N=0).": INPUT Y
555 IF Y=1 THEN GOTO 130
560 END
Alles anzeigen
Peter
Nein, leider nicht. Das sind alles Programme, die Variablen mit längeren Namen, floating Point, Strings, Arrays voraussetzen.
Peter
Mandelbrot (kleine ASCII Version):
Reverse Spiel. Zahlenreihe nach 1-9 sortieren.
Eingabe Postion. Von links=1 bis Position werden Zahlen getauscht.
10 REM (C)2019 PETER SIEG
20 PRINT "REVERSE AT POS UNTIL 1..9"
60 FOR I=1 TO 9
70 @(I)=I
80 NEXT I
90 GOSUB 500
100 REM SHUFFLE ROW
110 FOR I=1 TO 30
120 P=RND(8)+1:REM RANDOM 2-9
130 GOSUB 600
140 NEXT I
150 GOSUB 500
200 REM INPUT POS=P AND SHUFFLE AT P
210 INPUT "INPUT POSITION:",P
220 IF P<2 THEN GOTO 210
230 IF P>9 THEN GOTO 210
240 GOSUB 600:REM SHUFFLE AT P
250 GOSUB 500:REM PRINT ROW
260 GOSUB 400:REM CHECK IF ROW IS CORRECT
270 REM IF CORRECT P=0
280 IF P>0 THEN GOTO 200
290 PRINT "CORRECT!"
295 END
400 REM CHECK IF ROW IS CORRECT (1..9)
410 N=0
412 FOR I=1 TO 9
414 IF @(I)=I THEN N=N+1
416 NEXT I
418 IF N=9 THEN P=0
420 RETURN
500 REM PRINT NUMBER ROW
510 FOR I=1 TO 9
520 PRINT @(I);
530 NEXT I
540 PRINT
550 RETURN
600 REM SHUFFLE ROW AT POS P
610 GOSUB 700
612 IF P>3 THEN GOSUB 720
614 IF P>5 THEN GOSUB 730
616 IF P>7 THEN GOSUB 740
618 RETURN
700 REM EXCHANGE @(P) WITH @(1)
710 T=@(P)
712 @(P)=@(1)
714 @(1)=T
716 RETURN
720 REM EXCHANGE @(P-1) WITH @(2)
722 T=@(P-1)
724 @(P-1)=@(2)
726 @(2)=T
728 RETURN
730 REM EXCHANGE @(P-2) WITH @(3)
732 T=@(P-2)
734 @(P-2)=@(3)
736 @(3)=T
738 RETURN
740 REM ECHANGE @(P-3) WITH @(4)
742 T=@(P-3)
744 @(P-3)=@(4)
746 @(4)=T
748 RETURN
Alles anzeigen
Peter
Hallo liebe Leute,
ich habe eben auch die gepatchte MFA-Basic Version gebrannt, es funktioniert.
Gibt es für dieses MFA-Basic eigentlich eine Anleitung, Handbuch.
Und gibt dafür ein Source Listing ?
Oder weiß jemand welches Basic das ist ?
mfG. Klaus Loy
Hab mittlerweweile das Handbuch gefunden.
Beschreibung zu Softwarepaket SP1 BFZ/MFA 7.2, ab ca. Seite 110 ist das Basic beschrieben.
mfG. Klaus Loy