[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Questions, Questions.. Disarming /RAM



"Chris M" <chris@sorry.no.spam.com> wrote in message
rid970huq43chlrqokl9tq0m5t0oo7u7ol@4ax.com">news:rid970huq43chlrqokl9tq0m5t0oo7u7ol@4ax.com...
>
> Hi-
>
> Thanks to everyone that's replied to my previous posts.
> The help has been great, and I'm learning more each day.
>
> I don't use the /RAM disk that ProDOS creates, and I'd like to free it
> so I can have more available space for AppleWorks.  Anyone know how to
> disable or truncate (to 1 block or something) the /RAM drive?
>
> // CHRIS

/Ram can be handy for doing some kinds of work. Orca/m uses it to speedily
build all the intermediate files it needs to compile a program.

ProTerm, Appleworks and the like disable /ram and use the memory for their
own purposes. Although I have a fuzzy recollection here.
There were so many versions of Appleworks I get confused. I seem to remember
a patch program that told Appleworks how much memory to use.

Anyway if you want to disable /ram for your own work the following will get
the job done.


devcnt   equ   $bf31
devlst   equ   $bf32
machid   equ   $bf98
ramslot  equ   $bf26
nodev    equ   $bf10


*
*  remove  /RAM
*
ramout   php                   ;save status and make
         sei                   ;sure ints are off
         lda   machid
         and   #$30
         cmp   #$30
         bne   done            ;no /RAM
         lda   ramslot
         cmp   nodev           ;cmp low byte
         bne   cont            ;/ram installed
         lda   ramslot+1
         cmp   nodev+1         ; check hi byte
         beq   done            ; no device connected
cont     ldy   devcnt
loop     lda   devlst,y
         and   #$f3
         cmp   #$b3
         beq   getloop
         dey
         bpl   loop
         bmi   done
getloop  lda   devlst+1,y      ;get next unit #
         sta   devlst,y        ;move it up in list
         beq   exit
         iny
         bne   getloop
exit     lda   nodev           ;copy nodev connected
         sta   ramslot         ;into slot 3 drive 2
         lda   nodev+1
         sta   ramslot+1
         dec   devcnt
done     plp

         rts