|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1536 (0x600)
Types: TextFile
Names: »FIDUS.TXT«
└─⟦0d02879d3⟧ Bits:30004605 COMPAS Pascal version 3.03
└─⟦this⟧ »FIDUS.TXT«
projekt EDB i undervisningen
P R O G R A M M E R I N G S F I D U S E N
Har du nogensinde prøvet at udvikle et program, der skal bruge
printeren, mens denne ikke er tilsluttet til Butleren ?
Nedenstående funktion kan indlægges i dine programmer, og du kan
derved undgå ærgelser med manglende printerforbindelse.
Hvis du bruger følgende sætning
0010 IF PRINTER_STATUS() THEN SELECT OUTPUT "LP:"
i stedet for
0010 SELECT OUTPUT "LP:"
vil maskinen ikke mere gå i 'baglås', når printeren ikke er tilsluttet.
0010 FUNC PRINTER_STATUS CLOSED
0020 // Funktionen returnerer værdien TRUE, hvis printeren er
0030 // klar til at modtage data. Ellers returneres værdien FALSE
0040 //
0050 STATUS#:=0
0060 DIM KODE#(20)
0070 BIOSSTART:=PEEK(1)+PEEK(2)*256.0-3
0080 P_PRINTERSTATUS:=BIOSSTART+15*3
0090 P_STATUSVAR:=VARPTR(STATUS#)
0100 START:=VARPTR(KODE#)
0110 POKE START, 205 // start: call printers_status
0120 POKE START+1, P_PRINTERSTATUS MOD 256
0130 POKE START+2, P_PRINTERSTATUS DIV 256
0140 POKE START+3, 50 // ld (status#),a
0150 POKE START+4, P_STATUSVAR MOD 256
0160 POKE START+5, P_STATUSVAR DIV 256
0170 POKE START+6, 201 // ret
0180 CALL START
0190 RETURN (STATUS#=255)
0200 ENDFUNC PRINTER_STATUS
0210 //
0220 PRINT PRINTER_STATUS()
Kjeld Madsen / Per Christiansen
«eof»