00001 *************************
00002 *
00003 * PAGEIN.ASM
00004 * (u1 u2 u3 -- )
00005 * MDJ 01-17-19
00006 *
00007 * THE 12-SECTOR PAGE
00008 * BEGINNING AT DRIVE u1,
00009 * TRACK u2, SECTOR u3 IS
00010 * READ INTO SECTOR
00011 * BUFFERS #0 THROUGH #B
00012 *
00013 *************************
00014 *
00015 BUFIN   EQU     $5105
00016         ORG     $55A9
00017 PAGEIN  PSHS    A,B,X,Y
00018         PULU    A,B     GET FIRST SECTOR NUMBER
00019         STD     SN
00020         PULU    A,B     GET FIRST TRACK NUMBER
00021         STD     TN
00022         PULU    Y       GET DISK DRIVE NUMBER
00023         LDX     #$2200  POINT TO BUFFER #0
00024 PGIA    CMPX    #$2E00  END OF BUFFER?
00025         BHS     PGIC    GO IF YES
00026         PSHU    Y       DRIVE NUMBER TO U-STACK
00027         LDD     TN      TRACK NUMBER TO U-STACK
00028         PSHU    A,B
00029         LDD     SN      SECTOR NUMBER TO U-STACK
00030         PSHU    A,B
00031         PSHU    X       BUFFER ADDRESS TO U-STACK
00032         JSR     BUFIN   GO READ SECTOR
00033         LDD     SN      GET SECTOR NUMBER
00034         ADDD    #1      INCREMENT IT
00035         CMPD    #19     NEXT TRACK?
00036         BLO     PGIB    GO IF NO
00037         LDD     TN      GET TRACK NUMBER
00038         ADDD    #1      INCREMENT IT
00039         STD     TN      RESAVE TRACK NUMBER
00040         LDD     #1      RESET SECTOR NUMBER
00041 PGIB    STD     SN      RESAVE SECTOR NUMBER
00042         LEAX    256,X   INCREMENT BUFFER POINTER
00043         BRA     PGIA    RETURN FOR NEXT SECTOR
00044 SN      RMB     2       SECTOR NUMBER VARIABLE
00045 TN      RMB     2       TRACK NUMBER VARIABLE
00046 PGIC    PULS    A,B,X,Y
00047 ZEND    RTS
00048         END
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
