Posts by ngc224

    Wärt ihr so nett, folgende Längen abmessen? Praktisch wäre die Länge(a) und Höhe(b) der Platine, sowie die Abstände der Montagelöcher(c&d):

    Hallo Magnus,


    Hier die (hoffentlich richtigen) Maße:


    a=194

    b=113

    c=186

    d=105


    Das Layout der Platine ist übrigens maßstabsgetreu im Elektor Heft 12/78 abgebildet.

    Ich habe Anfang 1979 mit Hilfe eines Transreflex Films vom isel-electronic eine Folie

    (die ich immer noch habe) erstellt, und damit dann eine Platine belichtet und geätzt.

    Das Belichtungsgerät, und die Ätzanlage von isel-electronic habe ich auch noch, aber schon

    viele Jahre nicht mehr benutzt.

    Vor ein paar Jahren habe ich mal versucht, Folien mit einem Tintenstrahldrucker

    bzw. Laserdrucker zu erstellen, habe aber damit nicht annähernd die Qualität erreicht,

    wie mit den Transreflex Filmen von isel-electronic.


    Viele Grüße,


    Josef

    Hier die Version 3.53 von EhBasic für CP/M-68k.

    Jetzt funktioniert auch die Exponentialfunktion.


    C>EHBASIC.REL


    16623788 Bytes free


    Enhanced 68k BASIC Version 3.53


    Ready

    PRINT EXP(1)

    2.718282


    Ready

    LOAD

    LOAD file (*.bas) : ^C

    C>

    Hier noch ein paar Anmerkungen zu Codegröße und Ausführungszeit des fractal

    Programms.

    Wird fractal.bas mit dem CBASIC Compiler übersetzt, ist das Programm 28 KByte groß.

    Die Laufzeit des Programms beträgt 4 Minuten und 22 Sekunden. :(

    WIrd fractal.bas im Basic Interpreter (Enhanced 68k BASIC Version 3.52)

    gestartet, beträgt die Laufzeit 1 Minute und 57 Sekunden. :)

    Dasselbe Programm, in C geschrieben, ist nach dem Compilieren mit dem Alcyon C Compiler

    32 KByte groß, und die Laufzeit des Programms beträgt 23 Sekunden.:):)

    (gemessen auf 68000 CPU mit 8 MHz Clock).

    Ich hatte bisher das Problem, das manche Programme, die ich mit CBASIC

    auf meinem CP/M-68k SBC

    kompiliert habe, beim Starten folgende Fehlermeldung brachten:


    Exception $03 at user address $00000FE0. Aborted.


    (dazu gehörte z.B. auch das Programm fractal.bas).

    Andere Programme funktionierten dagegen einwandfrei.

    Auf dem 68K Emulator trat dieses Problem nie auf.

    Im RetroBrew Computers Forum habe ich jetzt die Lösung für mein Problem gefunden :)

    https://www.retrobrewcomputers…php?t=msg&th=576&start=0&

    Nachdem ich mein CP/M Bios entsprechend angepaßt habe, ist das Problem gelöst:)

    Ein schönes Board.

    Hast Du es inzwischen schon aufgebaut ?

    Ich habe das CP/M-68k für das tiny68k Board mal im Virtual68k emulator ausprobiert

    https://github.com/EtchedPixels/Virtual68

    Der ist eigentlich zum Testen von Fuzix gedacht, CP/M-68k funktioniert aber auch.

    Ich hatte es auf meinem NDR Klein Computer mit 68008 und 68000 mal angetestet aber (noch) nicht viel damit gemacht. Wollte aber mal wieder einsteigen. Gab es für den ATARI ST nicht auch mal ein CP/M-68K?


    Gruß, Rene

    Ob es ein CP/M für den ATARI ST gab, weiß ich nicht, aber es gab ein OS-9 (Cumana).

    Gab es eigentlich CP/M und OS-9 für den c't 68000 Computer ?

    So einen tollen Rechner hätte ich auch gern.

    Sogar mit NEC7220 Grafik Controller !

    Dafür würde ich sofort ein CP/M Bios schreiben.

    Ich habe CP/M-68K inzwischen auf mehr als zehn verschiedenen 68K Rechnern am laufen

    (MC68000/302/20/30/40/)

    Auf meinen 68060er Karten funktioniert es leider noch nicht.

    Gibt es hier sonst noch jemanden, der sich mit CP/M-68K beschäftigt ?

    So, jetzt scheint es zu funktionieren.


    Das Problem entstand hier:


    (* MOVES SYNTAX TABLE *)


    RESET(INIFL1,'CHESS:INIFL1.TEXT');

    FOR INTI := SYNCF TO SYNML DO

    BEGIN

    REPEAT

    READ(INIFL1,PC)

    UNTIL PC = '.';

    FOR IMTI := AA TO ZA DO

    BEGIN

    READ(INIFL1,PC);

    PD[IMTI] := PC;

    END;

    INISYN(PD);

    READ(INIFL1,PC);

    END;

    CLOSE(INIFL1,LOCK);


    Das Programm versucht Initialisierungsparameter aus einer

    nicht vorhandenen Datei mit dem Namen INIFL1.TEXT zu lesen !


    Ich habe diese Parameter jetzt fest in das Programm eingebaut

    (so wie es bei Chess05.pas gemacht wird).

    Damit startet es jetzt ohne Fehlermeldung:


    Running...


    HELLO. WELCOME TO CHESS 0.5

    DEBUG/TRACE VERSION


    INITIALIZING VARIABLES AND ARRAYS.


    OPENING PRINTER DEBUG/TRACE FILE.


    INITIALIZING BOARD.


    ENTER MOVE OR TYPE GO.



    Die Ein/Ausgabe ist aber etwas gewöhnungsbedürftig.

    (siehe chess-log.txt)

    0x0a,0x0a ist falsch, es sollte heißen 0x0a (so wie bei Linux)

    Wird eine Datei mit 0x0d,0x0a am Zeilenende (DOS Format) mit

    ucsdpsys_disk in ein UCSD-P Filesystem kopiert, und diese Datei

    dann mit dem UCSD-P Texteditor geöffnet, sieht man jeweils

    zwischen zwei Zeilen eine Leerzeile.

    Wird die Datei mit dos2unix vor dem Kopieren konvertiert, ist

    alles ok.

    Habe die Zeile jetzt folgendermaßen korrigiert:


    FOR IMTW := LINDX[JNTK] TO JNTW-1 DO


    Dann kommt der Compiler schon ein Stück weiter:


    SEARCH

    < 2959>..................................................

    < 3009>..............


    <---

    Illegal character in text

    Line 3024

    Type <sp> to continue, <esc> to terminate, or 'e' to edit


    Die Zeile 3024 besteht aus 256 Leerzeichen (0x20) !

    Nach entfernen der Zeile, lässt sich das Programm CHESS.PAS fehlerfrei übersetzen.


    CHESS

    < 3632>.......................................

    3671 lines compiled


    INICON1 ..

    INICON2 .

    INICON3 .

    INICON4 ..

    READER ..............................

    .....

    CHESS ..............................

    ..............................

    ..............................

    ...........

    Beim Starten kommt allerdings folgende Fehlermeldung:


    RUN:


    Running...










    HELLO. WELCOME TO CHESS 0.5

    DEBUG/TRACE VERSION


    INITIALIZING VARIABLES AND ARRAYS.



    IO error: vol not found

    Segment INICON4 Proc# 1 Offset# 406

    Type <space> to continue




    Gruß, Josef

    Files

    ngc224 welche Implementation von p-Syatem verwendest Du denn?


    In Line 19 steht bei mir kein AC = ....?


    Wenn Line 9 gemeint ist, kann es sein, daß der Compiler Hochkomma ' an Stelle von Anführungsstrichen " will?

    Das mit den falschen Zeilennummern ist jetzt gelöst !

    Das Problem war, das Deine Dateien 0x0d,0x0a am Zeilenende haben (MSDOS Format)

    ucsd-pascal benötigt aber 0x0a,0x0a am Zeilenende !


    linux-4232:/home/joe/oldcomputers/RC2014-master # dos2unix CHESS05.TEXT

    linux-4232:/home/joe/oldcomputers/RC2014-master # ucsdpsys_disk -f DS3N21.DSK -p CHESS05.TEXT

    linux-4232:/home/joe/oldcomputers/RC2014-master # dos2unix chess05iso.text

    linux-4232:/home/joe/oldcomputers/RC2014-master # ucsdpsys_disk -f DS3N21.DSK -p chess05iso.text


    Compiling...

    Compile what text? sys2:chess05

    To what codefile? sys2:chess05


    Pascal compiler - release level IV.0 b20-2

    < 0>.........

    AA = 1; ZA = 10; (* CHARACTERS IS A WORD *)

    AC = <---

    Illegal character in text

    Line 10

    Type <sp> to continue, <esc> to terminate, or 'e' to edit



    Compiling...

    Compile what text? sys2:chess05iso

    To what codefile? sys2:chess05iso


    Pascal compiler - release level IV.0 b20-2

    < 0>..................................................

    < 50>..................................................

    < 100>........................

    TRUE : (RMQS : TB); (* QUEEN SIDE *)

    ) <---

    Error in constant

    Line 125

    Type <sp> to continue, <esc> to terminate, or 'e' to edit


    Übersetzen kann er es zwar immer noch nicht, aber wenigstens stimmen jetzt

    die Zeilennummern.


    Grundsätzlich ist es so, daß ich 'ältere' Pascal Programme in der Regel fehlerfrei

    mit ucsd-pascal übersetzen kann, aber 'neuere' Programme nur nach

    diversen Änderungen.

    Kann ich leider auch nicht übersetzen.


    chess05.text

    ============


    Compiling...

    Compile what text? sys2:chess05

    To what codefile? sys2:chess05


    Pascal compiler - release level IV.0 b20-2

    < 0>..................


    AC = <---

    Illegal character in text

    Line 19

    Type <sp> to continue, <esc> to terminate, or 'e' to edit



    chess05iso.text

    ===============


    Compiling...

    Compile what text? sys2:chess05iso

    To what codefile? sys2:chess05iso


    Pascal compiler - release level IV.0 b20-2

    < 0>..................................................

    < 50>..................................................

    < 100>..................................................

    < 150>..................................................

    < 200>................................................


    ) <---

    Error in constant

    Line 249

    Type <sp> to continue, <esc> to terminate, or 'e' to edit


    Das liegt aber jetzt wohl am Compiler ?
    Ist aber auch nicht so wichtig;


    Vielen Dank !

    Für die, die mal den UCSD Pascal Compiler ausreizen wollen - habe auf meiner UCSD Seite jetzt auch den Quellcode eines Schachprogramms dort abgelegt.

    Beim Übersetzen des Schachprogramms tritt bei mir folgendes Problem auf:


    Compiling...

    Compile what text? sys2:chess

    To what codefile? sys2:chess


    Pascal compiler - release level IV.0 b20-2

    < 0>..................................................

    < 50>..................................................

    < 100>..................................................

    < 150>..................................................

    < 200>..................................................

    < 250>..................................................

    < 300>..............................

    .

    .

    .

    SELNXT

    < 2774>.......

    SELANY

    < 2781>..............

    SELSBA

    < 2795>

    FOR IMTW : <---

    ':=' expected

    Line 2796

    Type <sp> to continue, <esc> to terminate, or 'e' to edit



    so sieht die procedure selba in chess.pas aus:

    ----------


    PROCEDURE SELSBA;

    BEGIN

    FOR IMTW :œ LINDX[JNTKÝ TÏ JNTW-± DÏ <- Zeile 2796 !!!!!!!!!

    WITH MOVES[IMTW] DO

    IF NOT RMSU THEN

    IF ABS(XTPV[RMCP]) > INTV THEN

    BEGIN

    INTV := ABS(XTPV[RMCP]);

    INTW := IMTW;

    END;

    END; (* SELSBA *)


    Das scheint irgendwie kaput zu sein ?

    Meinst Du das hier ?

    OS-9/68000 Level One Disk-Based License V2.3 OMTI-5000 Format 5" Track DS DD

    Das passt leider nicht für meine Karte, aber trotzdem vielen Dank !

    Für dieses Board habe ich momentan noch keine Software.

    Ich möchte irgendwann mal Linux drauf portieren.

    Vielleicht kann ich irgendwann auch ein OS-9/68K dafür auftreiben.


    MfG,


    Josef