[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