Re: [hatari-devel] About RAM size comments (commit 6c827e5)

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

On 1/2/21 7:39 PM, Christian Zietz wrote:
Eero Tamminen schrieb:
So the limits are actually:

4MB:
- ST/MegaST/STE/MegaSTE (unmodified)

10MB, due to VME: [1]
- TT
- MegaSTE with HW mods

14MB:
- Falcon
- ST/MegaST/STE with HW mods

That's correct.

Attached is patch updating the comments.


What about 6MB, is that actually a legal ST-RAM
amount?  On all the machines?

As far as I know, there is nothing in TOS that would make 6 MB ST-RAM
illegal. As noted before, this requires a new MMU.

Falcon has the limitation that system control register values don't support that, so it's
possible that TOS wouldn't recognize that amount,
although e.g. EmuTOS could (if it uses memory
probing instead).

For Falcon, Hatari supports only amounts that
can be set to system control register.  See
stMemory.c::STMemory_SetDefaultConfig().

I guess it's simpler just to continue rejecting
6MB (or 12MB) as all machines don't support it.


Btw. Has somebody actually done the TOS 2 ROM
15MB ST/MegaST HW setup?

Sorry, I was unclear before. 15 MB would be possible, if one does *not*
support TOS 2. (Because TOS 2 starts at $E00000 = 14 MB.)

However, I only know to actual MMU re-implementations -- from hearsay,
never had them myself: one by Martin Wevelsiep, that (according to [1])
would indeed support 15 MB in a MegaST, and the CoMMU from a company in
Vienna (design based on a diploma thesis), that is said to be limited to
14 MB.

Ok, thanks!


	- Eero

diff --git a/src/stMemory.c b/src/stMemory.c
index 03fa5822..ac576fa9 100644
--- a/src/stMemory.c
+++ b/src/stMemory.c
@@ -490,7 +490,7 @@ int STMemory_CorrectSTRamSize(void)
 	{
 		if (STRamSize_KB > 10*1024)
 		{
-			Log_Printf(LOG_INFO, "maximum MegaSTE/TT ST-RAM amount is 10MB, not %dMB\n",
+			Log_Printf(LOG_INFO, "max ST-RAM on real MegaSTE/TT would be 10MB due to VME, not %dMB\n",
 				   STRamSize_KB/1024);
 		}
 	}
@@ -936,6 +936,9 @@ int	STMemory_RAM_Validate_Size_KB ( int TotalMem )
 	 * These memory amounts are accepted for all machine types, but in
 	 * case of Falcon, rounded up later in STMemory_SetDefaultConfig(),
 	 * to amounts Falcon mem config reg actually supports
+	 *
+	 * Note: Hatari emulates ST with Ricoch chipset, and MegaST with
+	 * IMP one, see ioMem.c::IoMem_FixVoidAccessFor*ST()
 	 */
 	switch (TotalMem)
 	{
@@ -946,16 +949,16 @@ int	STMemory_RAM_Validate_Size_KB ( int TotalMem )
 	case 640:
 	case 2176:
 	case 2560:
-		/* (Mega)ST/STE/MegaSTE/TT/Falcon */
+		/* all machines */
 	case 512:
 	case 1024:
 	case 2048:
+		/* max on original (Mega)ST(e) machines */
 	case 4096:
-		/* MegaSTE/TT/Falcon */
 	case  8*1024:
-		/* MegaSTE/TT max */
+		/* max on real TT, and HW modified MegaSTE (due to VME) */
 	case 10*1024:
-		/* Falcon max */
+		/* max on Falcon, and HW modified ST/MegaST/STE */
 	case 14*1024:
 		return TotalMem;
 	}


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/