Program C64;
USES FONTS;
VAR Scr : PTR;
    Win : PTR;
    Zeile,st:string[80];
    con: PTR;
    Flag,a,i:CARDINAL;
    Tos     : TEXT;
PROCEDURE OPENEMUL;
BEGIN
  Scr:=OPEN_SCREEN(0,0,320,256,
                   2,
                   2,1,
                   $4000,
                   '        C-64  Emulator');
  Win:=OPEN_WINDOW(0,0,320,250,
                   1,
                   $00004,
                   $0800,
                   ' *** COMMODORE 64 BASIC V2 ***',
                   Scr,
                   320,256,
                   320,256);

con:=OPENConsole(Win);
SETSTDIO(CON);
  writeln;
  Writeln('64K RAM SYSTEM 38911 BASIC BYTES');writeln;
  Writeln('FERTIG.');
END;

PROCEDURE B;
BEGIN
END;
PROCEDURE SIMUL;
BEGIN
                     REWRITE(Tos,'df0:TEST.C64');
                     IF ioresult=0 THEN BEGIN
                                    FOR i:=0 TO 25 DO
                                    writeln(Tos,'Dies war nur eine LADE-Simulation von CEMUL!');
                                    CLOSE(Tos);
                                    END ELSE
                     Writeln('?KEINE DISKETTE IN FLOPPY 8!');
END;
PROCEDURE F;
BEGIN
  Flag:=1;
END;
BEGIN
  OPENEMUL;
REPEAT
  Flag:=0;
  Readln(zeile);
  IF (COPY(Zeile,1,4)='OPEN') THEN BEGIN b;
                     writeln('?DEVICE NICHT GEFUNDEN!');
                     f;
                     END;


  IF (COPY(zeile,1,4)='LOAD') THEN BEGIN
                     IF (zeile='LOAD"$",8')    THEN BEGIN
                     Writeln('SUCHE NACH $');
                     delay(20); REWRITE(Tos,'df0:TEST.C64');
                     IF ioresult=0 THEN BEGIN writeln('LADE $');
                                    FOR i:=0 TO 10 DO
                                    writeln(Tos,'Dies war nur Simulation von CEMUL!');
                                    CLOSE(Tos);
                                    END ELSE BEGIN b;
                     Writeln('?KEINE DISK IN DEVICE 8!'); END;
                     delay(50);
                     writeln("FERTIG.");
                     f;END;
                     IF (zeile='LOAD"*",8,1')  THEN BEGIN
                     Writeln('SUCHE NACH *');
                     Delay(50); b;
                     writeln('?FILE NICHT GEFUNDEN!');
                     f;
                     END;
  IF (COPY(zeile,6,2)='BL') THEN BEGIN
                     writeln('SUCHE NACH BLOW IT');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='C') THEN BEGIN
                     writeln('SUCHE NACH CHOPLIFTER');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='W') THEN BEGIN
                     writeln('SUCHE NACH WIZARD');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='S') THEN BEGIN
                     writeln('SUCHE NACH SUPER ZAXXON 3');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='R') THEN BEGIN
                     writeln('SUCHE NACH ROBIN OF THE WOOD');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='M') THEN BEGIN
                     writeln('SUCHE NACH BLOW IT');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='K') THEN BEGIN
                     writeln('SUCHE NACH KAISER');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,1)='L') THEN BEGIN
                     writeln('SUCHE NACH LODE RUNNER');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,2)='BO') THEN BEGIN
                     writeln('SUCHE NACH BOULDER DASH');
                     writeln('LADE.'); SIMUL;
                     delay(3*50);
                     writeln('FERTIG.');
                     f;
                     END;
IF (COPY(zeile,6,2)<>'BL') AND
   (COPY(zeile,6,1)<>'C')  AND
   (COPY(zeile,6,1)<>'W')  AND
   (COPY(zeile,6,1)<>'S')  AND
   (COPY(zeile,6,1)<>'R') AND
   (COPY(zeile,6,1)<>'M') AND
   (COPY(zeile,6,1)<>'K') AND
   (COPY(zeile,6,1)<>'L') AND
   (COPY(zeile,6,2)<>'BO') AND
   (COPY(zeile,6,1)<>'$') AND
   (COPY(zeile,6,1)<>'*')
                      THEN BEGIN
                      writeln('SUCHE NACH ???');
                      delay(20); b;
                      writeln('?FILE NICHT GEFUNDEN!');
                      writeln('FERTIG.');
                      f;
                      END;
                      END;
  IF (zeile='') THEN f;
  IF (COPY(Zeile,1,1)='1') OR
     (COPY(Zeile,1,1)='2') OR
     (COPY(Zeile,1,1)='3') OR
     (COPY(Zeile,1,1)='4') OR
     (COPY(Zeile,1,1)='5') OR
     (COPY(Zeile,1,1)='6') OR
     (COPY(Zeile,1,1)='7') OR
     (COPY(Zeile,1,1)='8') OR
     (COPY(Zeile,1,1)='9') OR
     (COPY(Zeile,1,3)='100') OR
     (COPY(Zeile,1,4)='1000') THEN BEGIN B;
     Writeln('LINIEN PROGRAMMIERUNG NICHT ERLAUBT!');
     writeln('?SPEICHER FEHLER .');
     f;
     END;


  IF (COPY(Zeile,1,1)='?') THEN BEGIN
                     writeln;
                     writeln(copy(Zeile,3,80));writeln;
                     f;
                     END;

  IF (COPY(Zeile,1,5)='PRINT') THEN BEGIN b;
                      writeln('BENUTZE "?" FÜR PRINT KOMMANDO');
                      f;
                      END;
  IF (Zeile='LIST') THEN BEGIN delay(15);
                      Writeln(' ');reverse;
                      writeln('       C-64 SPIELE DISK 1     ');
                      normal;
                      writeln('------------------------------');
                      writeln('122       "BLOW IT"        PRG');
                      writeln(' 64     "CHOPLIFTER"       PRG');
                      writeln(' 61    "WIZARD OF WAR"     PRG');
                      writeln('143    "SUPER ZAXXON 3"    PRG');
                      writeln('108   "ROBIN OF THE WOOD"  PRG');
                      writeln(' 48      "MONOPOLY"        PRG');
                      writeln('106       "KAISER"         PRG');
                      writeln('  0"----------------------"DEL');
                      writeln('146     "LODE RUNNER"      PRG');
                      writeln('  0"----------------------"DEL');
                      writeln('102     "BOULDER DASH"     PRG');
                      writeln('------------------------------');
                      writeln(' 23 BLOCKS FREI');
                      writeln('FERTIG.');
                      f;
                      END;
  IF (copy(zeile,1,2)='IF') THEN BEGIN f; b;
                      writeln('?IF/THEN/ELSE FEHLER.');
                      END;
  IF (copy(zeile,1,4)='PEEK') THEN BEGIN f;
                      writeln('BENUTZE POKE FÜR PEEK!');
                      END;
  IF (Zeile='RUN') THEN BEGIN b;
                      Writeln('?SYNTAX FEHLER IN 88411!');
                      f;
                      END;
  IF (zeile='SYSTEM') THEN BEGIN
                      Write('SIND SIE SICHER(J/N)?');
                      f;
                      END;
  IF (copy(zeile,1,4)='POKE') THEN BEGIN b; reverse;
                      REPEAT
                      write('#');
                      UNTIL 1>2; END;
  IF (copy(zeile,1,3)='SYS') AND (copy(zeile,4,3)<>'TEM') THEN BEGIN b;
                      delay(2*50); f; clrscr;
                      writeln;
                      Writeln('64K RAM SYSTEM 38911 BASIC BYTES');writeln;
                      Writeln('READY.');
                      END;
  IF (Flag=0) THEN writeln('?SYNTAX FEHLER.');
UNTIL (zeile='SYSTEM');
  Delay(3*50);
END.






