Adjust the tape reader and punch timings to be more realistic and remove the artificial speed limit from the printer since it is not emulated

This commit is contained in:
CrazyEttin 2022-09-19 01:08:12 +03:00
parent 3f7cf0d8ea
commit 2feaba4ee9
2 changed files with 9 additions and 10 deletions

View File

@ -66,7 +66,7 @@ begin
else write (Ch); else write (Ch);
end; end;
//Wait to emulate CPU speed of ~500 KIPS //Wait to emulate CPU speed of roughly 500 KIPS
{$ifndef fast} {$ifndef fast}
procedure wait; procedure wait;
begin begin
@ -117,6 +117,7 @@ begin
else if W = $fffd then begin else if W = $fffd then begin
{$ifndef fast} {$ifndef fast}
wait; wait;
sleep (1);
{$endif} {$endif}
assign (State, ExpandFileName ('~/.tapes.thingamajig')); assign (State, ExpandFileName ('~/.tapes.thingamajig'));
//Check the reader state //Check the reader state
@ -175,9 +176,6 @@ begin
//Printer //Printer
{$ifdef printer} {$ifdef printer}
else if W = $fffe then begin else if W = $fffe then begin
{$ifndef fast}
wait;
{$endif}
assign (Prn, '/dev/usb/lp0'); assign (Prn, '/dev/usb/lp0');
try try
rewrite (Prn); rewrite (Prn);
@ -192,6 +190,7 @@ begin
else if W = $fffd then begin else if W = $fffd then begin
{$ifndef fast} {$ifndef fast}
wait; wait;
sleep (19);
{$endif} {$endif}
assign (State, ExpandFileName ('~/.tapes.thingamajig')); assign (State, ExpandFileName ('~/.tapes.thingamajig'));
//Check the punch state //Check the punch state

View File

@ -117,12 +117,12 @@ standard uses. The backspace and delete keys input their respective
characters and non-character keys null. characters and non-character keys null.
In Linux the emulator can be compiled with support for a character In Linux the emulator can be compiled with support for a character
printer and an emulated high speed paper tape reader and punch with the printer and an emulated high speed (roughly 500 CPS in and 50 CPS out)
arguments -dprinter and -dtape respectively. The printer is mapped to paper tape reader and punch with the arguments -dprinter and -dtape
address FFFE and the tape reader and punch to FFFD. The printer prints respectively. The printer is mapped to address FFFE and the tape reader
into /dev/usb/lp0 and the tape files read from and punched to are and punch to FFFD. The printer prints into /dev/usb/lp0 and the tape
(re)set using the program tapectl with the arguments -r and -p files read from and punched to are (re)set using the program tapectl
respectively. with the arguments -r and -p respectively.
The IPL loads the program specified as an argument when running the The IPL loads the program specified as an argument when running the
emulator. emulator.