From 2feaba4ee9ef0cb75d8c49dd8698019d98c25509 Mon Sep 17 00:00:00 2001 From: CrazyEttin <> Date: Mon, 19 Sep 2022 01:08:12 +0300 Subject: [PATCH] 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 --- emulator.pas | 7 +++---- readme.md | 12 ++++++------ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/emulator.pas b/emulator.pas index c75a8cc..a3cf199 100644 --- a/emulator.pas +++ b/emulator.pas @@ -66,7 +66,7 @@ begin else write (Ch); end; -//Wait to emulate CPU speed of ~500 KIPS +//Wait to emulate CPU speed of roughly 500 KIPS {$ifndef fast} procedure wait; begin @@ -117,6 +117,7 @@ begin else if W = $fffd then begin {$ifndef fast} wait; + sleep (1); {$endif} assign (State, ExpandFileName ('~/.tapes.thingamajig')); //Check the reader state @@ -175,9 +176,6 @@ begin //Printer {$ifdef printer} else if W = $fffe then begin - {$ifndef fast} - wait; - {$endif} assign (Prn, '/dev/usb/lp0'); try rewrite (Prn); @@ -192,6 +190,7 @@ begin else if W = $fffd then begin {$ifndef fast} wait; + sleep (19); {$endif} assign (State, ExpandFileName ('~/.tapes.thingamajig')); //Check the punch state diff --git a/readme.md b/readme.md index 4825b2e..211243c 100644 --- a/readme.md +++ b/readme.md @@ -117,12 +117,12 @@ standard uses. The backspace and delete keys input their respective characters and non-character keys null. 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 -arguments -dprinter and -dtape respectively. The printer is mapped to -address FFFE and the tape reader and punch to FFFD. The printer prints -into /dev/usb/lp0 and the tape files read from and punched to are -(re)set using the program tapectl with the arguments -r and -p -respectively. +printer and an emulated high speed (roughly 500 CPS in and 50 CPS out) +paper tape reader and punch with the arguments -dprinter and -dtape +respectively. The printer is mapped to address FFFE and the tape reader +and punch to FFFD. The printer prints into /dev/usb/lp0 and the tape +files read from and punched to are (re)set using the program tapectl +with the arguments -r and -p respectively. The IPL loads the program specified as an argument when running the emulator.