From 69005574f3cf3bfa2adba7938a436decb9d4fa2b Mon Sep 17 00:00:00 2001 From: CrazyEttin <> Date: Thu, 11 Aug 2022 10:34:49 +0300 Subject: [PATCH] Fix some more printing-related bugs --- emulator.pas | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/emulator.pas b/emulator.pas index 11c2c67..1a5e8c1 100644 --- a/emulator.pas +++ b/emulator.pas @@ -1,5 +1,7 @@ program Emulator; +{$MODE OBJFPC} + uses Crt{$ifdef printer}, Printer{$endif}; const @@ -12,7 +14,7 @@ var Addr, IP, RP: word; //Address argument and instruction and return pointers R: array [0 .. 3] of byte; //General-purpose registers Mem: array [0 .. $ffef] of byte; //Memory - Prog{$ifdef printer}, Ptr{$endif}: file of byte; //Program file and printer + Prog{$ifdef printer}, Prn{$endif}: file of byte; //Program file and printer Ch: ansichar; //Character for input and output begin @@ -138,10 +140,13 @@ begin //Printer {$ifdef printer} else if Addr = $fffe then begin - assign (Ptr, '/dev/usb/lp0'); - rewrite (Ptr); - write (Ptr, R [X]); - close (Ptr); + assign (Prn, '/dev/usb/lp0'); + try + rewrite (Prn); + write (Prn, R [X]); + close (Prn); + except + end; end {$endif} //Regular store