home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 17 / Flop_Magazin_17_1992_United_Electronic_Crazies_cs_Side_A.atr / hidmem1.lst < prev    next >
File List  |  2023-02-26  |  3KB  |  1 lines

  1. 10 REM *****************************¢20 REM *   SINGLE BYTE ACCESS TO   *¢30 REM *   ATARI XL HIDDEN MEMORY  *¢40 REM *      by Kevin T. Pate     *¢50 REM *                           *¢60 REM *       COPYRIGHT 1989      *¢70 REM *     BY ANALOG COMPUTING   *¢80 REM *****************************¢90 REM ¢120 REM TARGET ADDRESS IS ZAD¢130 REM DATA VARIABLE IS Z¢140 GOSUB 30000:REM RAM ACCESS INITIALIZATION SUBROUTINE¢145 PRINT "}SINGLE BYTE ACCESS TO ATARI XL HIDDEN MEMORY DEMONSTRATION"¢146 PRINT :PRINT "HIDDEN MEMORY ADDRESSES ARE           40960-53247 AND 55296-65535"¢150 PRINT :PRINT "TARGET ADDRESS";:INPUT ZAD¢160 PRINT "VALUE";:INPUT Z¢170 GOSUB ZPOKE:PRINT "NOW POKING VALUE INTO HIDDEN MEMORY"¢180 Z=0:PRINT "NOW ZEROING OUT VALUE"¢190 GOSUB ZPEEK:PRINT "NOW PEEKING HIDDEN MEMORY ADDRESS"¢200 PRINT "ADDRESS=";ZAD,"VALUE=";Z¢210 GOTO 150¢220 REM ¢30000 REM RAM ACCESS INITIALIZATION SUBROUTINE¢30010 REM ML SUBROUTINES ARE RELOCATABLE¢30020 DIM Z$(50):REM STORAGE AREA FOR ML ROUTINES¢30030 REM POKE ML ROUTINE RETURNS VALUE TO Z$(1)¢30040 POK=ADR(Z$)+1:REM POKE ML ROUTINE STARTING ADDRESS¢30050 ZPOKE=31000:REM POKE BASIC SUBROUTINE¢30060 PEK=POK+17:REM PEEK ML ROUTINE STARTING ADDRESS¢30070 ZPEEK=32000:REM PEEK BASIC SUBROUTINE¢30080 REM ML LOADER¢30090 RESTORE 30190¢30100 FOR Z=0 TO 34¢30110 READ ZZ:POKE POK+Z,ZZ¢30120 NEXT Z¢30130 ZHA=INT(ADR(Z$)/256):REM HIGH BYTE OF Z$(1) ADDRESS¢30140 ZLA=ADR(Z$)-256*ZHA:REM LOW BYTE OF Z$(1) ADDRESS¢30150 POKE PEK+10,ZLA¢30160 POKE PEK+11,ZHA¢30170 RETURN ¢30180 REM POKE ML DATA¢30190 DATA 104,162,2,142,1,211¢30200 DATA 162,00,142,000,0000,162¢30210 DATA 253,142,1,211,96¢30220 REM PEEK ML DATA¢30230 DATA 104,162,2,142,1,211¢30240 DATA 174,000,0000,142,000,0000¢30250 DATA 162,253,142,1,211,96¢30260 REM ¢31000 REM POKE SUBROUTINE¢31010 ZHA=INT(ZAD/256):REM HIGH BYTE OF TARGET ADDRESS¢31020 ZLA=ZAD-256*ZHA:REM LOW BYTE OF TARGET ADDRESS¢31030 POKE POK+7,Z¢31040 POKE POK+9,ZLA¢31050 POKE POK+10,ZHA¢31060 ZINT=PEEK(16):POKE 16,0:POKE 53774,0:POKE 54286,0:REM DISABLE INTERRUPTS¢31070 ZZ=USR(POK):REM CALL POKE ML ROUTINE¢31080 POKE 16,ZINT:POKE 53774,ZINT:POKE 54286,255:REM ENABLE INTERRUPTS¢31090 RETURN ¢31100 REM ¢32000 REM PEEK SUBROUTINE¢32010 ZHA=INT(ZAD/256):REM HIGH BYTE OF TARGET ADDRESS¢32020 ZLA=ZAD-256*ZHA:REM LOW BYTE OF TARGET ADDRESS¢32030 POKE PEK+7,ZLA¢32040 POKE PEK+8,ZHA¢32050 ZINT=PEEK(16):POKE 16,0:POKE 53774,0:POKE 54286,0:REM DISABLE INTERRUPTS¢32060 ZZ=USR(PEK):REM CALL PEEK ML ROUTINE¢32070 Z=PEEK(ADR(Z$))¢32080 POKE 16,ZINT:POKE 53774,ZINT:POKE 54286,255:REM ENABLE INTERRUPTS¢32090 RETURN ¢