home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1989 September / Antic_Magazine_1989_09_Antic_Side_A.atr / ramdisk.src < prev    next >
Text File  |  2023-02-26  |  24KB  |  1 lines

  1.                     ATARI Macro Assembler Ver: 2.0A, RAMDISK.SRC¢¢¢                    ******* SmartRAM 2.5¢                    ******* by Tim Patrick, the Happy Hacker¢                    ;¢                    ******* (c)1989 Antic Publishing, Inc.¢                    ;¢                    ******* RAMDISK DRIVE NUMBER¢        = 0008      RAMDRV  = 8             ;DOS 2.5=D8:¢                    ;¢                    ******* ZERO PAGE¢        = 0014      RTCLOK  = $14¢        = 0021      ICDNOZ  = $21¢        = 0032      BUFRLO  = $32¢        = 0033      BUFRHI  = $33¢        = 0034      BFENLO  = $34¢        = 0035      BFENHI  = $35¢                    ;¢                    ******* OTHER RAM¢        = 03FA      GINTLK  = $3FA          ;CARTRIDGE?¢        = 03F8      BASICF  = $3F8          ;ROM BASIC?¢        = 02E0      RUNAD   = $2E0¢        = 02E2      INITAD  = $2E2¢        = 02EA      DVSTAT  = $2EA¢        = 070A      DRVBYT  = $70A          ;DRIVE MASK¢        = 070C      SASA    = $70C          ;END FMS CODE¢        = 07E0      DINT    = $7E0          ;FMS INIT¢        = 4000      TSTLC   = $4000¢        = 7400      VTOCP1  = $7400         ;RD1050 VTOC1¢        = 4000      VTOCP2  = $4000         ;RD1050 VTOC2¢        = 009B      CR      = $9B¢        = 001C      UP      = $1C¢        = 007D      CLR     = 125¢        = 00FD      BELL    = 253¢        = 001D      DOWN    = $1D¢        = 001E      LEFT    = $1E¢        = 001F      RIGHT   = $1F¢        = 1481      GETBANK = $1481         ;DOS ROUTINES¢        = 12CB      SETBANK = $12CB¢        = 07DF      FASTRAM = $07DF         ;SYNC W'VBI¢        = 14C4      RAM_OUT = $14C4         ;RAMDISK EXIT¢        = 0043      ZBUFP   = $43¢        = 0042      CRITIC  = $42¢        = 0B87      FIX_1   = $B87¢        = 105D      S_FIX   = $105D¢        = 0780      DVLOC_1 = $780          ;BSIO¢        = 0B89      DVLOC_2 = $B89          ;FORMAT¢        = 105F      DVLOC_3 = $105F         ;STATUS¢        = 0004      READ    = 4¢        = 0008      WRITE   = 8¢        = 0003      OPEN    = 3¢        = 000C      CLOSE   = 12¢        = 0007      GET     = 7¢        = 000B      PUT     = 11¢        = 153F      MEMDUP  = $153F         ;MEM.SAV/DUP¢        = 008B      NAK_ERR = 139¢        = 183A      M_ADDR  = $183A¢        = 1863      T_ADDR  = M_ADDR+MEMEND-MEMFIX¢                    ;¢                    ******* OS ROM VECTORS¢        = E453      DSKINV  = $E453¢        = E456      CIOV    = $E456¢        = E459      SIOV    = $E459¢                    ;¢                    ******* CHIP REGISTERS¢        = D301      PORTB   = $D301¢        = D40E      NMIEN   = $D40E¢                    ;¢                    ******* DCB/IOCB¢        = 0300      DDEVIC  = $300¢        = 0301      DUNIT   = $301¢        = 0302      DCOMND  = $302¢        = 0303      DSTATS  = $303¢        = 0304      DBUFLO  = $304¢        = 0305      DBUFHI  = $305¢        = 030A      DAUX1   = $30A¢        = 030B      DAUX2   = $30B¢                    ;¢        = 0342      ICCOM   = $342¢        = 0344      ICBAL   = $344¢        = 0345      ICBAH   = $345¢        = 0348      ICBLL   = $348¢        = 0349      ICBLH   = $349¢        = 034A      ICAX1   = $34A¢        = 034B      ICAX2   = $34B¢                    ;¢                    ******* MACROS¢                    SKW     MACRO           ;SKIP WORD¢                            DB  $FC         ;BRANCH +2¢                            ENDM¢                    SKB     MACRO           ;SKIP BYTE¢                            DB  $F4         ;BRANCH +1¢                            ENDM¢                    ;¢                    ******* INSTALLATION ROUTINE¢                    ;¢  0000  = 3000              ORG  $3000¢                    ;¢                    ******* 256K EXTENDED MEMORY TEST¢                    ;¢  3000  AD01D3      INSTAL  LDA  PORTB¢  3003  09FC                ORA #$FC        ;SET ALL BITS¢  3005  48                  PHA             ;(SAVE IT)¢  3006  AA                  TAX             ;NORMAL IN X¢  3007  ACAD33              LDY  BIT_X      ;XE BANK IN Y¢  300A  20EC32              JSR  MEMTST     ;TEST IT¢  300D  1002 ^3011          BPL  TEST6¢                    ;¢  300F  68                  PLA             ;NO EXTRA RAM¢  3010  60                  RTS             ;BYE!¢                    ;¢  3011  AE9C33      TEST6   LDX  BIT_6      ;ANY AT 6?¢  3014  20EC32              JSR  MEMTST¢  3017  8DB133              STA  EXTRA      ;192K FLAG(0)¢                    ;¢  301A  AEA033      TEST5   LDX  BIT_5      ;HOW ABOUT 5?¢  301D  20EC32              JSR  MEMTST¢  3020  3012 ^3034          BMI  TEST7¢                    ;¢                    ******* NEWELL/RAMBO?¢                    ;¢  3022  EEB133              INC  EXTRA      ;BIT-6(+)?¢  3025  D023 ^304A          BNE  MEMX       ;YUP, RAMBOXL¢                    ;¢  3027  A203                LDX #3¢  3029  BDA933      LPN     LDA  NEWELL,X   ;FIX TABLE¢  302C  9D9C33              STA  TABLE,X    ;FOR NEWELL¢  302F  CA                  DEX¢  3030  10F7 ^3029          BPL  LPN¢  3032  3013 ^3047          BMI  EXIT¢                    ;¢                    ******* TEST FOR BIT-7¢                    ;¢  3034  AEA533      TEST_7  LDX  BIT_7¢  3037  20EC32              JSR  MEMTST¢  303A  300E ^304A          BMI  MEMX¢                    ;¢  303C  A203                LDX #3¢  303E  BDA533      LP7     LDA  BIT_7,X    ;FIX TABLE¢  3041  9DA033              STA  TABLE2,X   ;FOR BIT-7¢  3044  CA                  DEX¢  3045  10F7 ^303E          BPL  LP7¢                    ;¢                    ******* RAM TEST EXIT¢                    ;¢  3047  EEB133      EXIT    INC EXTRA       ;256K FLAG(+)¢                    ;¢  304A  68          MEMX    PLA             ;FIX $D301¢  304B  8D01D3              STA  PORTB¢  304E  ADB133              LDA  EXTRA      ;(-) = 128K¢  3051  F024 ^3077          BEQ  FIX_192    ;(0) = 192K¢  3053  1025 ^307A          BPL  FIX_DOS    ;(+) = 256K¢                    ;¢                    ******* 130XE RAMDISK INITIALIZATION¢                    ;¢  3055  A0CA        XE_TYPE LDY #$CA        ;(DEX)¢  3057  8CDA30              STY  V_TST1¢  305A  EEE230              INC  V_TST2+1¢                    ;¢  305D  A003                LDY #3¢  305F  8CED30              STY  CLEAR+1    ;ONLY 4 BANKS¢  3062  B9AD33      XE_FIX  LDA  BIT_X,Y    ;FIX TABLE¢  3065  999C33              STA  TABLE,Y    ;AND MESSAGE¢  3068  B97330              LDA  XE_MSG,Y   ;FOR 130XE¢  306B  993333              STA  MSG1+24+2,Y¢  306E  88                  DEY¢  306F  10F1 ^3062          BPL  XE_FIX¢  3071  300A ^307D          BMI  MERGE¢                    ;¢  3073  4449534B    XE_MSG  DB  'DISK'¢                    ;¢                    ******* PATCH DOS 2.5 FOR 192/256K¢                    ;¢  3077  20D632      FIX_192 JSR  SIXFIX     ;ONLY 192K¢                    ;¢  307A  203A32      FIX_DOS JSR  DOSFIX     ;PATCH DOS¢                    ;¢                    ******* MERGE RAMDISK WITH DOS¢                    ;¢  307D  A908        MERGE   LDA #RAMDRV     ;INSTALL¢  307F  AA                  TAX¢  3080  8D8007              STA  DVLOC_1    ;DRIVE¢  3083  8D890B              STA  DVLOC_2    ;NUMBER¢  3086  8D5F10              STA  DVLOC_3    ;(DECIMAL)¢  3089  18                  CLC¢  308A  6930                ADC #'0'        ;(ASCII)¢  308C  8D9933              STA  DRIVE+1¢  308F  8D3133              STA  MSG1+24¢  3092  8D7031              STA  DRIVE_1+1¢  3095  8DD631              STA  DRIVE_2+1¢                    ;¢  3098  A900                LDA #0¢  309A  38                  SEC             ;SET 1 BIT,¢  309B  2A          DRVLP   ROL  A          ;THEN SHIFT¢  309C  CA                  DEX             ;TO POSITION¢  309D  D0FC ^309B          BNE  DRVLP¢  309F  0D0A07              ORA  DRVBYT¢  30A2  8D0A07              STA  DRVBYT     ;ADD TO TABLE¢  30A5  20E007              JSR  DINT¢                    ;¢                    ******* PRINT SMARTRAM MESSAGE¢                    ;¢  30A8  A219                LDX #LOW MSG1¢  30AA  A033                LDY #HIGH MSG1¢  30AC  A94F                LDA #[MSGEND-MSG1]¢  30AE  8D4803              STA  ICBLL¢  30B1  8E4403              STX  ICBAL¢  30B4  8C4503              STY  ICBAH¢  30B7  A200                LDX #0¢  30B9  8E4903              STX  ICBLH¢  30BC  A90B                LDA #PUT¢  30BE  8D4203              STA  ICCOM¢  30C1  2056E4              JSR  CIOV¢                    ;¢                    ******* CHECK IF PREVIOUSLY FORMATTED¢                    ;¢  30C4  A202                LDX #2¢  30C6  AD01D3              LDA  PORTB¢  30C9  48                  PHA¢  30CA  09FC                ORA #$FC¢  30CC  3D9C33              AND  TABLE,X    ;SELECT VTOC¢  30CF  8D01D3              STA  PORTB      ;RAMDISK BANK¢                    ;¢  30D2  A000                LDY #0          ;COMPARE¢  30D4  EC0074      V_TST0  CPX  VTOCP1     ;VTOC BYTE-1¢  30D7  F001 ^30DA          BEQ  V_TST1¢  30D9  C8                  INY¢  30DA  E8          V_TST1  INX¢  30DB  EC0274              CPX  VTOCP1+2   ;VTOC BYTE-3¢  30DE  F001 ^30E1          BEQ  V_TST2¢  30E0  C8                  INY¢  30E1  A2F2        V_TST2  LDX #$F2¢  30E3  EC0174              CPX  VTOCP1+1   ;VTOC BYTE-2¢  30E6  F001 ^30E9          BEQ  V_DONE¢  30E8  C8                  INY¢  30E9  98          V_DONE  TYA             ;FORMATTED?¢  30EA  F042 ^312E          BEQ  NO_FMT¢                    ;¢                    ******* CLEAR EXTRA RAM¢                    ;¢  30EC  A207        CLEAR   LDX #7          ;BANKS 0->7¢  30EE  AD01D3      FLP1    LDA  PORTB¢  30F1  09FC                ORA #$FC¢  30F3  3D9C33              AND  TABLE,X    ;GET FIRST¢  30F6  8D01D3              STA  PORTB¢  30F9  A240                LDX #$40        ;SET UP¢  30FB  8633                STX  BUFRHI     ;INDIRECT¢  30FD  A000                LDY #0          ;ADDRESS¢  30FF  8432                STY  BUFRLO¢  3101  98                  TYA             ;CLEAR "A"¢  3102  9132        FLP2    STA (BUFRLO),Y  ;CLEAR A PAGE¢  3104  C8                  INY¢  3105  D0FB ^3102          BNE  FLP2¢  3107  E633                INC  BUFRHI     ;NEXT PAGE¢  3109  CA                  DEX¢  310A  D0F6 ^3102          BNE  FLP2¢  310C  CEED30              DEC  CLEAR+1    ;NEXT BANK¢  310F  10DB ^30EC          BPL  CLEAR¢                    ;¢                    ******* SET UP XIO TO FORMAT¢                    ;¢  3111  203032      XIOFMT  JSR  DO_CLOSE   ;CHANNEL-4¢  3114  A9FE                LDA #254        ;XIO FORMAT¢  3116  9D4203              STA  ICCOM,X¢  3119  A998                LDA #LOW DRIVE¢  311B  9D4403              STA ICBAL,X¢  311E  A933                LDA #HIGH DRIVE¢  3120  9D4503              STA ICBAH,X¢  3123  A900                LDA #0¢  3125  9D4B03              STA  ICAX2,X¢  3128  9D4A03              STA  ICAX1,X¢  312B  2056E4              JSR  CIOV¢                    ;¢  312E  68          NO_FMT  PLA¢  312F  8D01D3              STA  PORTB¢                    ;¢                    ******* MOVE DUP.SYS TO D8:¢                    ;¢  3132  203032              JSR  DO_CLOSE   ;CLOSE FIRST¢  3135  A903                LDA #OPEN       ;OPEN¢  3137  9D4203              STA  ICCOM,X¢  313A  A904                LDA #READ       ;FOR READ¢  313C  9D4A03              STA  ICAX1,X¢  313F  A982                LDA #LOW FILE   ;D1:DUP.SYS¢  3141  9D4403              STA  ICBAL,X¢  3144  A933                LDA #HIGH FILE¢  3146  9D4503              STA  ICBAH,X¢  3149  2056E4              JSR  CIOV¢  314C  301C ^316A          BMI  OOPS_1     ;NO DUP(?)¢                    ;¢                    ******* READ IT IN TO BUFFER¢                    ;¢  314E  A907                LDA #GET        ;COPY FILE¢  3150  9D4203              STA  ICCOM,X¢  3153  A906                LDA #LOW SIZE¢  3155  9D4803              STA  ICBLL,X¢  3158  A914                LDA #HIGH SIZE¢  315A  9D4903              STA  ICBLH,X¢  315D  A9B3                LDA #LOW BUFFER¢  315F  9D4403              STA  ICBAL,X    ;TO BUFFER¢  3162  A933                LDA #HIGH BUFFER¢  3164  9D4503              STA  ICBAH,X¢  3167  2056E4              JSR  CIOV¢  316A  3022 ^318E  OOPS_1  BMI  OOPS_2¢  316C  203032              JSR  DO_CLOSE¢                    ;¢                    ******* SWITCH TO D8: (#RAMDRV)¢                    ;¢  316F  A938        DRIVE_1 LDA #8+'0'      ;SET RAMDRIVE¢  3171  8D8333              STA  FILE+1¢  3174  8D8E33              STA  MEM_SAV+1¢                    ;¢                    ******* NOW OPEN FOR WRITE¢                    ;¢  3177  A903        OPEN_8  LDA #OPEN       ;OPEN¢  3179  9D4203              STA  ICCOM,X¢  317C  A908                LDA #WRITE      ;FOR WRITE¢  317E  9D4A03              STA  ICAX1,X¢  3181  A982                LDA #LOW FILE   ;D8:DUP.SYS¢  3183  9D4403              STA  ICBAL,X¢  3186  A933                LDA #HIGH FILE¢  3188  9D4503              STA  ICBAH,X¢  318B  2056E4              JSR  CIOV¢  318E  301C ^31AC  OOPS_2  BMI  OOPS_3¢                    ;¢                    ******* WRITE DUP.SYS TO D8:¢                    ;¢  3190  A90B        WRTDUP  LDA #PUT        ;PUT BYTES¢  3192  9D4203              STA  ICCOM,X¢  3195  A906                LDA #LOW SIZE¢  3197  9D4803              STA  ICBLL,X¢  319A  A914                LDA #HIGH SIZE¢  319C  9D4903              STA  ICBLH,X¢  319F  A9B3                LDA #LOW BUFFER ;FROM BUFFER¢  31A1  9D4403              STA  ICBAL,X¢  31A4  A933                LDA #HIGH BUFFER¢  31A6  9D4503              STA  ICBAH,X¢  31A9  2056E4              JSR  CIOV       ;WRITE FILE¢  31AC  3064 ^3212  OOPS_3  BMI  OOPS_4     ;(NEVER!)¢                    ;¢                    ******* CREATE MEM.SAV FILE¢                    ;¢  31AE  203032              JSR  DO_CLOSE¢  31B1  ADFA03              LDA  GINTLK¢  31B4  D005 ^31BB          BNE  MEM_FIL¢  31B6  ADF803              LDA  BASICF¢  31B9  D017 ^31D2          BNE  DUP_MEM¢  31BB  A903        MEM_FIL LDA #OPEN       ;OPEN¢  31BD  9D4203              STA  ICCOM,X¢  31C0  A908                LDA #WRITE      ;FOR WRITE¢  31C2  9D4A03              STA  ICAX1,X¢  31C5  A98D                LDA #LOW MEMSAV ;D8:MEM.SAV¢  31C7  9D4403              STA  ICBAL,X¢  31CA  A933                LDA #HIGH MEMSAV¢  31CC  9D4503              STA  ICBAH,X¢  31CF  2056E4              JSR  CIOV¢                    ;¢                    ******* USE D8:DUP.SYS/MEM.SAV¢                    ;¢  31D2  203032      DUP_MEM JSR  DO_CLOSE¢  31D5  A938        DRIVE_2 LDA #8+'0'¢  31D7  8D3F15              STA  MEMDUP¢                    ;¢                    ******* IF 130XE, EXIT HERE¢                    ;¢  31DA  ADB133              LDA  EXTRA¢  31DD  3051 ^3230          BMI  DO_CLOSE¢                    ;¢                    ******* UPDATE DUP.SYS MENU¢                    ;¢  31DF  A903                LDA #OPEN       ;OPEN¢  31E1  9D4203              STA  ICCOM,X¢  31E4  A90C                LDA #READ+WRITE ;FOR UPDATE¢  31E6  9D4A03              STA  ICAX1,X¢  31E9  A982                LDA #LOW FILE   ;D8:DUP.SYS¢  31EB  9D4403              STA  ICBAL,X¢  31EE  A933                LDA #HIGH FILE¢  31F0  9D4503              STA  ICBAH,X¢  31F3  2056E4              JSR  CIOV¢                    ;¢                    ******* POINT TO DUP MENU TITLE¢                    ;¢  31F6  A907                LDA #GET        ;GET¢  31F8  9D4203              STA  ICCOM,X¢  31FB  A930                LDA #LOW 48     ;48 BYTES¢  31FD  9D4803              STA  ICBLL,X¢  3200  A900                LDA #HIGH 48¢  3202  9D4903              STA  ICBLH,X¢  3205  A9B3                LDA #LOW BUFFER¢  3207  9D4403              STA  ICBAL,X¢  320A  A933                LDA #HIGH BUFFER¢  320C  9D4503              STA  ICBAH,X¢  320F  2056E4              JSR  CIOV¢  3212  301C ^3230  OOPS_4  BMI  DO_CLOSE   ;(HUH?)¢                    ;¢                    ******* WRITE THE NEW TEXT DATA¢                    ;¢  3214  A90B                LDA #PUT        ;NOW, PUT¢  3216  9D4203              STA  ICCOM,X¢  3219  A91A                LDA #LOW [FILE-DUPMOD]¢  321B  9D4803              STA  ICBLL,X¢  321E  A900                LDA #HIGH [FILE-DUPMOD]¢  3220  9D4903              STA  ICBLH,X¢  3223  A968                LDA #LOW DUPMOD ;NEW TEXT¢  3225  9D4403              STA  ICBAL,X¢  3228  A933                LDA #HIGH DUPMOD¢  322A  9D4503              STA  ICBAH,X¢  322D  2056E4              JSR  CIOV       ;INTO MENU¢                    ;¢                    ******* BE NEAT, CLOSE IT UP.¢                    ;¢  3230  A240        DOCLOSE LDX #$40¢  3232  A90C                LDA #CLOSE¢  3234  9D4203              STA  ICCOM,X¢  3237  4C56E4              JMP  CIOV       ;BYE, BYE¢                    ;¢                    *********************¢                    *******             *¢                    ******* SUBROUTINES *¢                    *******             *¢                    *********************¢                    ;¢                    ******* PATCH DOS 2.5 FOR 256K¢                    ;¢  323A  A909        DOS_FIX LDA #9¢  323C  8D8E14              STA  $148E¢  323F  A941                LDA #$41¢  3241  8D9514              STA  $1495¢                    ;¢  3244  A00A                LDY #SETEND-SETFIX-1¢  3246  B98E32      ST_FIX  LDA  SETFIX,Y¢  3249  99DE12              STA  $12DE,Y¢  324C  88                  DEY¢  324D  10F7 ^3246          BPL  ST_FIX¢                    ;¢  324F  A013                LDY #RAMEND-RAMFIX-1¢  3251  B99932      RM_FIX  LDA  RAMFIX,Y¢  3254  99C414              STA  RAMOUT,Y¢  3257  88                  DEY¢  3258  10F7 ^3251          BPL  RM_FIX¢                    ;¢  325A  A008                LDY #8¢  325C  B99C33      T_MOVE  LDA  TABLE,Y¢  325F  996318              STA  T_ADDR,Y¢  3262  88                  DEY¢  3263  10F7 ^325C          BPL  T_MOVE¢  3265  A963                LDA #LOW T_ADDR¢  3267  8DE712              STA  T_FIX+1¢  326A  A918                LDA #HIGH T_ADDR¢  326C  8DE812              STA  T_FIX+2¢                    ;¢  326F  ADC317              LDA  $17C3¢  3272  18                  CLC¢  3273  6902                ADC #MF_2-MEMFIX¢  3275  8DCA17              STA  $17CA¢  3278  A028                LDY #MEMEND-MEMFIX-1¢  327A  B9AD32      M_MOVE  LDA  MEMFIX,Y¢  327D  993A18              STA  M_ADDR,Y¢  3280  88                  DEY¢  3281  10F7 ^327A          BPL  M_MOVE¢                    ;¢                    ******* DRIVE FORMAT TABLE FIX¢                    ;¢  3283  A98A                LDA #$8A¢  3285  8D5D10              STA  S_FIX¢  3288  A906                LDA #6          ;OFFSET-6¢  328A  8D870B              STA  FIX_1¢  328D  60                  RTS¢                    ;¢                    *********************¢                    *******             *¢                    *******  THE FIXES  *¢                    *******             *¢                    *********************¢                    ;¢                    ******* SET-BANK ROUTINE¢                    ;¢  328E  = 12DE#     SETFIX  LOC  $12DE¢  12DE# 2907                AND #%00000111  ;1024 = 0¢  12E0# A8          FINISH  TAY¢  12E1# AD01D3              LDA  PORTB¢  12E4# 09FC                ORA #$FC        ;SET ALL¢  12E6# 399C33      T_FIX   AND  TABLE,Y    ;SELECT BANK¢                    ;¢  12E9# = 3299              ORG  *O¢        = 3299      SETEND  = *¢                    ;¢                    ******* RAMDISK I/O EXIT¢                    ;¢  3299  = 14C4#     RAMFIX  LOC  RAM_OUT    ;($14C4)¢  14C4# AD01D3              LDA  PORT_B¢  14C7# 09FC                ORA #$FC        ;SET NO BANK¢  14C9# 8D01D3              STA  PORT_B¢  14CC# A0C0                LDY #$C0¢  14CE# 8C0ED4              STY  NMIEN      ;RESTORE NMI¢  14D1# A000                LDY #0¢  14D3# 8442                STY  CRITIC     ;CLEAR CRITIC¢  14D5# 58                  CLI             ;RESTORE IRQ¢  14D6# C8                  INY             ;GOOD STATUS¢  14D7# 60          NEW_OUT RTS             ;(+3 BYTES)¢                    ;¢  14D8# = 32AD              ORG  *O¢        = 32AD      RAMEND  = *¢                    ;¢  32AD  FD9B        MEMFIX  DB BELL,CR¢  32AF  1C4552524F  MF_2    DB UP,'ERROR WRITING MEM.SAV - Y TO RUN DOS!',CR¢        = 32D6      MEMEND  = *¢                    ;¢                    ******* 192K RAMDISK INITIALIZATION¢                    ;¢  32D6  A003        SIX_FIX LDY #3¢  32D8  B9AD33      FIX_6   LDA  BIT_X,Y    ;FIX TABLE¢  32DB  99A033              STA  TABLE2,Y   ;AND MESSAGE¢  32DE  B9E832              LDA  MSG_192,Y  ;FOR 192K¢  32E1  997533              STA  DUPMOD+13,Y¢  32E4  88                  DEY¢  32E5  10F1 ^32D8          BPL  FIX_6¢  32E7  60                  RTS¢                    ;¢  32E8  B1B9B2CB    MSG_192 DC  '1','9','2','K'¢                    ;¢                    ******* MEMORY TEST¢                    ;¢  32EC  8C01D3      MEMTST  STY  PORTB¢  32EF  AD0040              LDA  TSTLC      ;GET BYTE¢  32F2  48                  PHA             ;AND SAVE IT¢  32F3  8E01D3              STX  PORTB      ;SWAP BANKS¢  32F6  CD0040              CMP  TSTLC      ;THEN COMPARE¢  32F9  D013 ^330E          BNE  YUP¢  32FB  8C01D3              STY  PORTB      ;INCASE DATA¢  32FE  49FF                EOR #$FF        ;IS SAME¢  3300  8D0040              STA  TSTLC      ;INVERT IT¢  3303  8E01D3              STX  PORTB      ;AND COMPARE¢  3306  CD0040              CMP  TSTLC      ;AGAIN...¢  3309  D003 ^330E          BNE  YUP¢  330B  A2FF        NOPE    LDX #$FF        ;FAILED FLAG¢  330D                      SKW             ;(SKIP WORD)¢  330D +FC                  DB  $FC         ;(BRANCH +2)¢  330E  A200        YUP     LDX #0          ;PASSED FLAG¢  3310  8C01D3              STY  PORTB¢  3313  68                  PLA             ;RESTORE BYTE¢  3314  8D0040              STA  TSTLC¢  3317  8A                  TXA             ;SET FLAG¢  3318  60                  RTS¢                    ;¢                    ******* SMARTRAM MESSAGE¢                    ;¢                    ;SmartRAM-II DOS 2.5 D8:1050 EMULATOR¢                    ;by Tim Patrick, COPYRIGHT 1989 ANTIC¢                    ;¢  3319  7D1C1C      MSG1    DB CLR,UP,UP¢  331C  536D617274          DB 'SmartRAM-II DOS 2.5 D8:1050 EMULATOR'¢  3340  9B                  DB CR¢  3341  6279205469          DB 'by Tim Patrick, COPYRIGHT 1989 ANTIC'¢  3365  1F1F1D              DB RIGHT,RIGHT,DOWN¢        = 3368      MSGEND  =  *¢                    ;¢                    ******* FILENAMES AND DATA¢                    ;¢  3368  CDCFC4C9C6  DUPMOD  DC 'M','O','D','I','F','I'¢  336E  C5C4A0C6CF          DC 'E','D',' ','F','O','R'¢  3374  A0B2B5B6CB          DC ' ','2','5','6','K',' '¢  337A  CDC1C3C8C9          DC 'M','A','C','H','I','N'¢  3380  C5A1                DC 'E','!'¢  3382  44313A4455  FILE    DB 'D1:DUP.SYS',CR¢  338D  44383A4D45  MEM_SAV DB 'D8:MEM.SAV',CR¢        = 1406      SIZE    =   5126¢  3398  44383A9B    DRIVE   DB  'D8:',$9B¢                    ;¢                    ******* MASTER BANK CONTROL TABLE¢                    ;¢  339C  A3A7ABAF    TABLE   DB  $A3,$A7,$AB,$AF¢  33A0  C3C7CBCF    TABLE2  DB  $C3,$C7,$CB,$CF¢  33A4  FF          NORMAL  DB  $FF¢        = 339C      BIT_6 = TABLE¢        = 33A0      BIT_5 = TABLE2¢                    ;¢                    ******* EXTRA RAM CONTROL BYTES¢                    ;¢  33A5  63676B6F    BIT_7   DB $63,$67,$6B,$6F¢  33A9  83878B8F    NEWELL  DB $83,$87,$8B,$8F¢  33AD  E3E7EBEF    BIT_X   DB $E3,$E7,$EB,$EF¢  33B1  00          EXTRA   DB 0¢                    ;¢                    ******* DUP.SYS COPY BUFFER¢                    ;¢        = 33B3      BUFFER  =  *+1¢¢  33B2                      END  INSTAL¢¢¢                    no ERRORs,  139 Labels, $43F2 free.¢¢¢                    Tim Patrick * Kailua, HI 96734¢