home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / crossplatform / emulators / MacOS / mac64-04.hqx / MAC64-04.SEA / C64 / SOURCE / Printer.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-01  |  2.1 KB  |  83 lines  |  [TEXT/KAHL]

  1. /*
  2.     cOMMODORE 64 eMULATOR V0.4      eARLE f. pHILHOWER iii 
  3.     cOPYRIGHT (c) 1993-4            (ST916W9R@DUNX1.OCS.DREXEL.EDU)
  4.  
  5.     tHIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
  6.     IT UNDER THE TERMS OF THE gnu gENERAL pUBLIC lICENSE AS PUBLISHED BY
  7.     THE fREE sOFTWARE fOUNDATION; EITHER VERSION 2 OF THE lICENSE, OR
  8.     (AT YOUR OPTION) ANY LATER VERSION.
  9.  
  10.     tHIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
  11.     BUT without any warranty; WITHOUT EVEN THE IMPLIED WARRANTY OF
  12.     merchantability OR fitness for a particular purpose.  sEE THE
  13.     gnu gENERAL pUBLIC lICENSE FOR MORE DETAILS.
  14.  
  15.     yOU SHOULD HAVE RECEIVED A COPY OF THE gnu gENERAL pUBLIC lICENSE
  16.     ALONG WITH THIS PROGRAM; IF NOT, WRITE TO THE fREE sOFTWARE
  17.     fOUNDATION, iNC., 675 mASS aVE, cAMBRIDGE, ma 02139, usa.
  18. */
  19.  
  20. #INCLUDE "pROCESSOR.H"
  21. #INCLUDE "sERIAL.H"
  22. #INCLUDE "pRINTER.H"
  23. #INCLUDE "fILEtYPES.H"
  24. #INCLUDE "eRROR.H"
  25.  
  26. STATIC SHORT PRINTERfILE;
  27. STATIC BYTE PRINTERoPEN;
  28.  
  29. STATIC BYTE pRINTERcLOSE(INT SA);
  30. STATIC BYTE pRINTERoPEN(CHAR *FNAME, INT LEN, INT SA);
  31. STATIC BYTE pRINTERoUTPUT(BYTE CHR, INT SA);
  32. STATIC BYTE pRINTERiNPUT(BYTE *STORE, INT SA);
  33.  
  34. INT pRINTERiNITIALIZE(VOID)
  35. {$7b}
  36. aDDsERIALdEVICE(4, pRINTERiNPUT, pRINTERoUTPUT, pRINTERoPEN,
  37. pRINTERcLOSE, null);
  38. PRINTERoPEN=0;
  39.  
  40. RETURN KnOeRROR;
  41. {$7d}
  42.  
  43. STATIC BYTE pRINTERcLOSE(INT SA)
  44. {$7b}
  45. IF (PRINTERoPEN==1) fscLOSE(PRINTERfILE);
  46. PRINTERoPEN=0;
  47. RETURN KsERIALok;
  48. {$7d}
  49.  
  50. STATIC BYTE pRINTERoPEN(CHAR *FNAME, INT LEN, INT SA)
  51. {$7b}
  52. IF (PRINTERoPEN==1) pRINTERcLOSE(SA);
  53.  
  54. fsdELETE("\Pprinter",0);
  55. cREATE("\Pprinter",0, appltype, printerftype);
  56. fsoPEN("\Pprinter",0, &PRINTERfILE);
  57. PRINTERoPEN=1;
  58. RETURN KsERIALok;
  59. {$7d}
  60.  
  61. STATIC BYTE pRINTERoUTPUT(BYTE CHR, INT SA)
  62. {$7b}
  63. LONG LEN;
  64. CHAR TEMP;
  65.  
  66. IF (PRINTERoPEN==1) {$7b}
  67. TEMP=CHR;
  68. LEN=1;
  69. fswRITE(PRINTERfILE, &LEN, &TEMP);
  70. RETURN KsERIALok; {$7d}
  71. RETURN KsERIALeRROR;
  72. {$7d}
  73.  
  74. STATIC BYTE pRINTERiNPUT(BYTE *STORE, INT SA)
  75. {$7b}
  76. RETURN KsERIALeRROR;
  77. {$7d}
  78.  
  79. VOID pRINTERnEWfILE(VOID) {$7b}{$7d}
  80. VOID pRINTERaPPENDfILE(VOID) {$7b}{$7d}
  81. VOID pRINTERxVERTcHARACTERS(VOID) {$7b}{$7d}
  82. VOID pRINTERdISPLAYfILE(VOID) {$7b}{$7d}
  83.