Fix some more printing-related bugs
This commit is contained in:
parent
c89db6c351
commit
69005574f3
15
emulator.pas
15
emulator.pas
|
@ -1,5 +1,7 @@
|
||||||
program Emulator;
|
program Emulator;
|
||||||
|
|
||||||
|
{$MODE OBJFPC}
|
||||||
|
|
||||||
uses Crt{$ifdef printer}, Printer{$endif};
|
uses Crt{$ifdef printer}, Printer{$endif};
|
||||||
|
|
||||||
const
|
const
|
||||||
|
@ -12,7 +14,7 @@ var
|
||||||
Addr, IP, RP: word; //Address argument and instruction and return pointers
|
Addr, IP, RP: word; //Address argument and instruction and return pointers
|
||||||
R: array [0 .. 3] of byte; //General-purpose registers
|
R: array [0 .. 3] of byte; //General-purpose registers
|
||||||
Mem: array [0 .. $ffef] of byte; //Memory
|
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
|
Ch: ansichar; //Character for input and output
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
@ -138,10 +140,13 @@ begin
|
||||||
//Printer
|
//Printer
|
||||||
{$ifdef printer}
|
{$ifdef printer}
|
||||||
else if Addr = $fffe then begin
|
else if Addr = $fffe then begin
|
||||||
assign (Ptr, '/dev/usb/lp0');
|
assign (Prn, '/dev/usb/lp0');
|
||||||
rewrite (Ptr);
|
try
|
||||||
write (Ptr, R [X]);
|
rewrite (Prn);
|
||||||
close (Ptr);
|
write (Prn, R [X]);
|
||||||
|
close (Prn);
|
||||||
|
except
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
{$endif}
|
{$endif}
|
||||||
//Regular store
|
//Regular store
|
||||||
|
|
Loading…
Reference in New Issue