home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / SOURCE / FORTHSCRN.SRC.txt < prev    next >
Text File  |  2020-08-13  |  2KB  |  79 lines

  1. ;
  2. ; READ & PRINT FORTH SCREEN FROM DISK
  3. ; USER POKES BLOCK NUMBER (=SCRN# * 2) AT 775 & 776
  4. ; THEN CALLS 768.  PROGRAM PRINTS THE SCRN, AND SETS ITSELF
  5. ; UP TO READ NEXT SEQUENTIAL SCREEN.
  6. ;
  7.          ORG      $300
  8. ;
  9. BUFFER   EQU       $2000
  10. ;
  11.          JMP       ORIGIN
  12. ;
  13. ;PARMS FOR READ BLOCK
  14. RBPARMS  DFB       $03
  15.          DFB       $60       ;SLOT 6 DRIVE 1
  16.          DW        BUFFER
  17. BLOCKNUM DW        $0002     ;BLOCK NUMBER
  18. ;BASIC PGM WILL POKE IN BLOCK NUMBER
  19. ;
  20. MLIERROR JSR       $FDDA
  21.          BRK 
  22. ;
  23. ORIGIN   JSR       $BF00
  24.          DFB       $80
  25.          DW        RBPARMS
  26.          BCS       MLIERROR
  27. ;
  28.          JSR       PRINTBUF  ;PRINT 1ST HALF OF SCREEN
  29.          INC       BLOCKNUM  ;GET NEXT BLOCK # FOR SECOND HALF
  30.          BNE       NEXTBLK
  31.          INC       BLOCKNUM+1
  32. ;
  33. NEXTBLK  JSR       $BF00
  34.          DFB       $80
  35.          DW        RBPARMS
  36.          BCS       MLIERROR
  37. ;
  38.          JSR       PRINTBUF
  39.          INC       BLOCKNUM  ;PREPARE FOR NEXT CALL
  40.          BNE       NEXTBLK2
  41.          INC       BLOCKNUM+1
  42. ;
  43. NEXTBLK2 RTS
  44. ;
  45. ;
  46. ;==================================
  47. PRINTBUF LDX       #00       ;X HAS OFFSET IN BUFFER
  48.          LDY       #64       ;64 CHARACTERS PER LINE
  49. PLOOP    LDA       BUFFER,X
  50.          ORA       #$80      ;PRINT THE BYTE
  51.          JSR       $FDED
  52. ;
  53.          DEY
  54.          BNE       NEXTX
  55.          LDA       #$8D
  56.          JSR       $FDED     ;PRINT CR
  57.          LDY       #64
  58. ;
  59. NEXTX    INX
  60.          BNE       PLOOP
  61. ;
  62. ; NOW PRINT SECOND HALF OF BUFFER
  63. ;
  64.          LDX       #00       ;X HAS OFFSET IN BUFFER
  65.          LDY       #64       ;64 CHARACTERS PER LINE
  66. PLOOP2   LDA       BUFFER+$100,X
  67.          ORA       #$80      ;PRINT THE BYTE
  68.          JSR       $FDED
  69. ;
  70.          DEY
  71.          BNE       NEXTX2
  72.          LDA       #$8D
  73.          JSR       $FDED     ;PRINT CR
  74.          LDY       #64
  75. ;
  76. NEXTX2   INX
  77.          BNE       PLOOP2
  78.          RTS
  79.