🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: net.micro.atari16
2 messages
2 total messages Started by braner Sun, 02 Nov 1986 20:15
Patches for the RAM disk program
#2654
Author: braner
Date: Sun, 02 Nov 1986 20:15
50 lines
2714 bytes
[]

If you want to use the RAM disk program I've posted as a drive other
than 'D', you have to patch it.  This patch is essential if you want to use
a hard disk together with the RAM disk.  Here is an old hint:

>From: jdg@elmgate.UUCP (Jeff Gortatowsky)
>	{allegra,seismo}!rochester!kodak!elmgate!jdg
>Subject: Reset survivable RAM disk and Atari HD problem fixed!
>Date: 3 Oct 86
>
>Well after a bit of digging and disassembly my brother (a sharp troop)
>found the correct combination to get the reset surviving RAM disk to play
>as drive F: in a HD system (Atari 20meg).   First, as was mentioned
>before on this news group you need to change the bit set in the 'drivebits'
>variable down in low memory.  The BSET #3,d0 needs to be BSET #5,d0 (for
>drive F:).  The other patch is applied to the compare instruction in the
>code that is executed when RWABS calls the RAM Disk.   The RAM disk checks
>the device number and if it's not the right number it passes control
>through a JMP instruction to the Hard disk vector the RAM disk saved at
>boot time.  The above patches imply that the RAM disk need be executed
>AFTER the hard disk driver is installed, so it may take over and save
>the hard disk vectors.

What I think was meant:  Change the bytes at the following
offsets from the beginning of the ".prg" file:

	  offset	old value(for drive D)	new value (for drive F)
	  ======	======================	=======================

	$145 (325)		03			05
	$173 (371)		03			05
	$181 (385)		03			05
	$193 (403)		03			05

The first one is the "BSET #3,D0" in the installation, the other three
are "CMP #3,x(A7)"s in handling calls to disk device drivers.

For drive C instead of F, use the value 02.

To change the default RAM disk size, change the byte at offset
$B3 (179): The value is the size in units of 64K, e.g. 03 for
a default size of 192K, 09 for 576K.

WARNING:  These are untested speculations!!!
If somebody tests this (with a hard disk, if possible), please tell us!
Jeff, if you're out there: please confirm &/or post the fix and the
disassembly!

- Moshe Braner
Re: Patches for the RAM disk program
#2683
Author: rbk
Date: Tue, 04 Nov 1986 12:56
39 lines
1936 bytes
<><><><><><><><>
> If you want to use the RAM disk program I've posted as a drive other
> than 'D', you have to patch it.  This patch is essential if you want to use
> a hard disk together with the RAM disk.  Here is an old hint:
>  ... (some lines deleted) ...
> What I think was meant:  Change the bytes at the following
> offsets from the beginning of the ".prg" file:
> 
> 	  offset	old value(for drive D)	new value (for drive F)
> 	  ======	======================	=======================
> 
> 	$145 (325)		03			05
> 	$173 (371)		03			05
> 	$181 (385)		03			05
> 	$193 (403)		03			05
> 
> The first one is the "BSET #3,D0" in the installation, the other three
> are "CMP #3,x(A7)"s in handling calls to disk device drivers.
> 
> For drive C instead of F, use the value 02.
> 
> To change the default RAM disk size, change the byte at offset
> $B3 (179): The value is the size in units of 64K, e.g. 03 for
> a default size of 192K, 09 for 576K.
> 
> WARNING:  These are untested speculations!!!
> If somebody tests this (with a hard disk, if possible), please tell us!
> Jeff, if you're out there: please confirm &/or post the fix and the
> disassembly!
> 
> - Moshe Braner

The patch works as advertised; thanks Moshe!

BTW, I changed the byte to "0C" for Drive "M" since
I already have a hard disk partition called "F".

	R. Brad Kummer	{ihnp4, seismo!akgua}!akguc!rbk
	AT&T Bell Labs	Atlanta, GA
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads