home *** CD-ROM | disk | FTP | other *** search
- PROGRAM eprom_emulator;
-
- USES crt;
-
- CONST eprom_size = 8191; { EPROM size - 1 = max adress }
-
- TYPE memar = array[0..eprom_size] of byte;
-
- VAR filename : string;
- filen : FILE OF byte;
- blok : memar ABSOLUTE $D800:$0000;
- s : char;
- stop : boolean;
-
-
- PROCEDURE upload;
-
- VAR i : integer;
- m : memar;
- s : char;
-
- BEGIN
- clrscr;
- assign(filen,filename+'.pc');
-
- writeln('Reading file ',filename,'.epr.');
- reset(filen); { open file for reading }
- FOR i := 0 TO eprom_size DO read(filen,m[i]); { read from disk }
- close(filen); { close file }
-
- writeln('Uploading data to EPROM emulator...');
- port[$340] := 3; { enable acces to emulator }
- FOR i := 0 TO eprom_size DO blok[i] := m[i]; { copy to emulator }
- port[$340] := 0; { disable acces to emulator }
- writeln('Done uploading data.');
- writeln('Press any key to return to the menu...');
- REPEAT UNTIL keypressed; s:=readkey;
- END;
-
- PROCEDURE download;
-
- VAR i : integer;
- m : memar;
- s : char;
-
- BEGIN
- clrscr;
- assign(filen,filename+'.epr');
-
- writeln('Downloading data from EPROM emulator...');
- port[$340] := 3; { enable acces to emulator }
- FOR i := 0 TO eprom_size DO m[i] := blok[i]; { copy to PC memory }
- port[$340] := 0; { disable acces to emulator }
- writeln('Done downloading data.');
-
- writeln('Writing to file ',filename,' .');
- rewrite(filen); { open file for reading }
- FOR i := 0 TO eprom_size DO write(filen,m[i]); { write to disk }
- close(filen); { close file }
-
-
- writeln('Press any key to return to the menu...');
- REPEAT UNTIL keypressed; s:=readkey;
- END;
-
-
-
- BEGIN
- clrscr;
- writeln('Je moet kaal (dus zonder EMM386 en HIMEM) opgestart zijn om de');
- writeln('te kunnen gebruiken !!!');
- writeln;
- REPEAT UNTIL keypressed; s:=readkey;
-
- IF (paramcount = 1) THEN filename := paramstr(1)
- ELSE BEGIN
- writeln('Default extensions: .epr for data from EPROM to file.');
- writeln(' .pc for data from file to EPROM.');
- writeln;
- write('Hex filename (no extension) : ');
- readln(filename);
- END;
-
- stop:=FALSE;
- REPEAT
- clrscr;
- writeln;writeln;
- writeln('Choose :');
- writeln;writeln;
- writeln(' 1. Write / Upload To emulator.');
- writeln(' 2. Read / Download From emulator.');
- writeln(' 3. Quit.');
- s:=readkey;
- CASE s OF
- '1','u','U','w','W','t','T' : upload;
- '2','d','D','r','R','f','F' : download;
- '3','q','Q','e','E', { all known ways to end a program; if you know }
- chr(27),chr(45),chr(79), { any other not listed here, please contact }
- chr(68),chr(17) { SW-tronics, Calslaan 3-102, 7522-MH, }
- { Enschede, The Netherlands or Email to }
- { s.wieman@student.utwente.nl }
- { NB. F7 will not be implemented because of }
- { strictly personal reasons. }
- : stop := TRUE;
- END; {CASE}
- UNTIL stop;
-
-
- END.
-