Saturn memory expansion card [message #395753] |
Sun, 14 June 2020 10:48 |
|
Originally posted by: Mark Lemmert
I have some questions about the Saturn memory expansion card, just for general knowledge purposes.
My understanding is that it used to add an additional 64k to the Apple II plus, making it possible to have 128k of RAM total - and, that the additional 64k is organized into 16k banks.
If that's correct, then it seems like software designed to run on a 128k Apple IIe would not run on a II plus /w Saturn because the bank structure is different.
If that's correct (if not please let me know!), then my question ultimately is, what is the benefit of having a II plus /w Saturn? Is there software that is/was specifically designed to run on that config?
Thanks much for any knowledge anyone has time to share!
-Mark
|
|
|
Saturn memory expansion card [message #395760 is a reply to message #395753] |
Sun, 14 June 2020 11:38 |
gids.rs
Messages: 1395 Registered: October 2012
Karma: 0
|
Senior Member |
|
|
Everything you said is correct.
Software written for a 128 kb IIe is not compatible with software written for a II+ with Saturn card. But vice versa is also true.
The main advantage of extra Ram is to use it as a very fast Ramdisk. This was a lot more advantageous back when only floppy disks were available and it was very slow reading data off a disk.
The extra Ram could be used for:
1) Eliminating disk swapping when duplicating disks
2) storing game data to prevent having to load from disk
3) keep your favorite utilities at hand so as not to have to swap between a boot disk, work disk, utilities disk, etc
4) can be programmed to hold extra variables, strings for applesoft
5) can store help screens for quick and easy recovery
6) expanded desktop and data for word processors
Once all you can think about is programming on the Apple II, you will eventually find more uses
|
|
|
|
Re: Saturn memory expansion card [message #395801 is a reply to message #395760] |
Mon, 15 June 2020 14:03 |
|
Originally posted by: Mark Lemmert
Thanks for the information! That makes sense.
On Sunday, June 14, 2020 at 10:38:48 AM UTC-5, I am Rob wrote:
> Everything you said is correct.
>
> Software written for a 128 kb IIe is not compatible with software written for a II+ with Saturn card. But vice versa is also true.
>
> The main advantage of extra Ram is to use it as a very fast Ramdisk. This was a lot more advantageous back when only floppy disks were available and it was very slow reading data off a disk.
>
> The extra Ram could be used for:
>
> 1) Eliminating disk swapping when duplicating disks
> 2) storing game data to prevent having to load from disk
> 3) keep your favorite utilities at hand so as not to have to swap between a boot disk, work disk, utilities disk, etc
> 4) can be programmed to hold extra variables, strings for applesoft
> 5) can store help screens for quick and easy recovery
> 6) expanded desktop and data for word processors
>
> Once all you can think about is programming on the Apple II, you will eventually find more uses
|
|
|
|
|
|
Saturn memory expansion card [message #395838 is a reply to message #395753] |
Tue, 16 June 2020 09:25 |
Michael AppleWin Debu
Messages: 1262 Registered: March 2013
Karma: 0
|
Senior Member |
|
|
Mark,
I did the bulk of the work of adding Saturn support to AppleWin back in 2017 with Tom cleaning up the code and tracking down one last memory bug.
You can see all the fun I went through virtually reverse engineering this card here! ;-)
https://github.com/AppleWin/AppleWin/issues/408
Anyhoo, the TL:DR; version is that you'll want to take a look at these lines where I document the I/O soft switches:
https://github.com/AppleWin/AppleWin/blob/769d4c6927fc62fd30 9a713329c175dda4b4598b/source/LanguageCard.cpp#L286-L306
Namely:
/*
Bin Addr.
$C0N0 4K Bank A, RAM read, Write protect
$C0N1 4K Bank A, ROM read, Write enabled
$C0N2 4K Bank A, ROM read, Write protect
$C0N3 4K Bank A, RAM read, Write enabled
0100 $C0N4 select 16K Bank 1
0101 $C0N5 select 16K Bank 2
0110 $C0N6 select 16K Bank 3
0111 $C0N7 select 16K Bank 4
$C0N8 4K Bank B, RAM read, Write protect
$C0N9 4K Bank B, ROM read, Write enabled
$C0NA 4K Bank B, ROM read, Write protect
$C0NB 4K Bank B, RAM read, Write enabled
1100 $C0NC select 16K Bank 5
1101 $C0ND select 16K Bank 6
1110 $C0NE select 16K Bank 7
1111 $C0NF select 16K Bank 8
*/
From the I/O soft-swtiches above you can see that the Saturn 128K card is basically a "super-sized" 16K Language Card where you page in one of the eight 16K banks of RAM.
I say "basically" because the Saturn card emulates a 16K LC -- it is "very close" but does NOT behave exactly the same as a standard LC.
i.e.
// Saturn differs from Apple's 16K LC: any access (LC is read-only)
> seems like software designed to run on a 128k Apple IIe would not run on a II plus /w Saturn because the bank structure is different.
Right, all the I/O soft-switches are different.
The //e and //c let you page in:
* 256 bytes (Zero Page)
* 48K Aux mem
* 16K Aux LC.
One may be wondering -- why the heck is the Apple //e's Aux. RAM different from the Apple ][+ ? Keep in mind that at this point in history there were all sorts of various 80-column cards and Language Card RAM Expansion cards.. Apple decided to create a single standard that solved both of these issues.
While the Saturn uses an elegant "extended LC hack" to access > 16 KB it really wasn't taking advantage of the 16-bit address line of the 6502. Hence the AUX. RAM of the Apple //e.
Michael.
|
|
|
Saturn memory expansion card [message #395839 is a reply to message #395753] |
Tue, 16 June 2020 09:36 |
Michael AppleWin Debu
Messages: 1262 Registered: March 2013
Karma: 0
|
Senior Member |
|
|
> My understanding is that it used to add an additional 64k to the Apple II plus, making it possible to have 128k of RAM total - and, that the additional 64k is organized into 16k banks.
You can find a copy of the manual here:
http://www.applelogic.org/files/SATURN128MAN.pdf
Technically, there TWO Saturn variations:
* 64K
* 128K
For a total of:
* 128 KB, or
* 192 KB respectively.
Theoretically, you could have multiple Saturn 128KB LC installed in Slots 1-7, so the maximum RAM is:
* 64 + 7*128 = 960K
I say "theoretically" because this would probably put too much of a strain on I/O slot power requirements.
I wouldn't advise running more then two LCs. Back in the day I actually tried out having three (!) 16KB LCs in my Apple ][+ clone. It was a glorious sight to see "Disk Muncher" copy a disk. You couldn't "quite" fit a 140KB disk into the 112KB of RAM but still was dam cool to see. :-) Well, until the computer started over-heating. ;-)
Michael
|
|
|
Re: Saturn memory expansion card [message #395842 is a reply to message #395839] |
Tue, 16 June 2020 09:52 |
Michael AppleWin Debu
Messages: 1262 Registered: March 2013
Karma: 0
|
Senior Member |
|
|
On Tuesday, June 16, 2020 at 6:36:56 AM UTC-7, Michael 'AppleWin Debugger Dev' wrote:
> You couldn't "quite" fit a 140KB disk into the 112KB of RAM but still was dam cool to see. :-) Well, until the computer started over-heating. ;-)
Sigh, math fail. That 112 KB obviously should be:
48 + 3*16 = 96 KB.
Michael.
|
|
|
Re: Saturn memory expansion card [message #395843 is a reply to message #395839] |
Tue, 16 June 2020 10:09 |
Michael AppleWin Debu
Messages: 1262 Registered: March 2013
Karma: 0
|
Senior Member |
|
|
On Tuesday, June 16, 2020 at 6:36:56 AM UTC-7, Michael 'AppleWin Debugger Dev' wrote:
> Technically, there TWO Saturn variations:
>
> * 64K
> * 128K
And of course I forgot about the 32K variation. :-)
/Oblg. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out.
|
|
|
Re: Saturn memory expansion card [message #395849 is a reply to message #395843] |
Tue, 16 June 2020 13:45 |
|
Originally posted by: Mark Lemmert
Thanks for all the information Michael!
> /Oblg. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the >counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right >out.
LOL!
On Tuesday, June 16, 2020 at 9:09:03 AM UTC-5, Michael 'AppleWin Debugger Dev' wrote:
> On Tuesday, June 16, 2020 at 6:36:56 AM UTC-7, Michael 'AppleWin Debugger Dev' wrote:
>> Technically, there TWO Saturn variations:
>>
>> * 64K
>> * 128K
>
> And of course I forgot about the 32K variation. :-)
>
> /Oblg. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out.
|
|
|
Re: Saturn memory expansion card [message #395856 is a reply to message #395843] |
Tue, 16 June 2020 20:56 |
|
Originally posted by: Brian Patrie
Michael 'AppleWin Debugger Dev' wrote:
> /Oblg. Then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out.
++
:D
|
|
|