DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f3f9ca8e1⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »FIDUS.TXT«

Derivation

└─⟦0d02879d3⟧ Bits:30004605 COMPAS Pascal version 3.03
    └─ ⟦this⟧ »FIDUS.TXT« 

TextFile

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»