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 / Tape.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-05-01  |  1.6 KB  |  59 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 "rESOURCES.H"
  22.  
  23. EXTERN INT PROGRAMmODE;
  24. EXTERN cURSOR COMMIEcURSOR, DISKcURSOR;
  25.  
  26. VOID lOADtAPEfs(fssPEC *SPEC)
  27. {$7b}
  28. SHORT FnUM;
  29. LONG LEN;
  30. BYTE DATA;
  31. WORD ADDR;
  32.  
  33. fsPoPENdf(SPEC, FSrDpERM, &FnUM);
  34. sETfpOS(FnUM, FSfROMsTART, 0X42);
  35. LEN=1; fsrEAD(FnUM, &LEN, &DATA); ADDR=DATA;
  36. LEN=1; fsrEAD(FnUM, &LEN, &DATA); ADDR+=((WORD)DATA)<<8;
  37.  
  38. sETfpOS(FnUM, FSfROMsTART, 0X0400);
  39. LEN=1;
  40. WHILE (LEN) fsrEAD(FnUM, &LEN, &(ram[ADDR++]));
  41. fscLOSE(FnUM);
  42. {$7d}
  43.  
  44.  
  45. VOID lOADtAPE(VOID)
  46. {$7b}
  47. sTANDARDfILErEPLY REPLY;
  48.  
  49. sTANDARDgETfILE(NIL, (SHORT)-1, NIL, &REPLY);
  50. IF (REPLY.SFgOOD)
  51. {$7b}
  52. sETcURSOR(&DISKcURSOR);
  53. lOADtAPEfs(&REPLY.SFfILE);
  54. {$7d}
  55.  
  56. IF (PROGRAMmODE==KrUNNING) sETcURSOR(&COMMIEcURSOR);
  57. ELSE sETcURSOR(&QD.ARROW);
  58. {$7d}
  59.