|
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 - 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»