TOS mods for more free RAM

News,announcements,programming,fixes,game patches & discussions.

Moderator: Petari

Post Reply
Petari
Posts: 130
Joined: Tue Nov 28, 2017 1:32 pm

TOS mods for more free RAM

Post by Petari » Sat Jan 06, 2018 8:02 pm

I made some special modded (patched) TOS versions, intended mostly for users with floppies, HW floppy emulators, or those using emulators on PC, MAC ...
Background: AUTO folder SW is normally SW not using AES (GEM), and despite it, it must have extension PRG - like SW using GEM. Better would be that it have extension TOS. And there is wasted space in case of AUTO run, because area intended for AES and Desktop workspace is allocated at early OS init, and stay so - then Atari ST SW normally does not use that area.
So, this is practically some simple correction of that error. This is not perfect - not good for resident SW, like hard disk drivers. Much more correction would be needed. Main goal here is better compatibility with games (for hard disk users it is solved in other ways). And for that this serves well.

T114UK.IMG is modded TOS 1.04 UK. With it can have 18 KB more free RAM for SW running from AUTO folder.
For that, you need that executables in AUTO folder of floppy have extension TOS, instead PRG. It will execute those with extension PRG too, if *.TOS - what executes first exits. But *.PRG will have usual RAM usage as in unmodded TOS.
Most of SW for AUTO folder will run fine if renamed to *.TOS. I know only couple exceptions: Dungeon Master and Chaos Strikes Back. + some
of mine floppy adaptatations, which utilize same RAM area as mentioned 2 games. So, you leave Dungeon Master as *.PRG in AUTO folder.

T214UK.IMG is combination of modded TOS 1.04 GEMDOS part, as above and AES + Desktop of TOS 2.06 . The benefit is better compatibility with games, while there is much better Desktop. So, for it stays same as for above, considering running SW from AUTO folder.
27KB more free RAM for SW running from AUTO folder.

In both there is small correction in floppy format, so will have 2KB more free space on floppies formatted with Desktop format option.

This is for floppy users. System is not good with autoboot resident SW like hard disk driver, and actually, no sense to use this RAM saving system
with hard disk drivers and SW.

Alpha versions, you may test easily with some emulator, for instance.
MORERAM.ZIP
(232.87 KiB) Downloaded 11 times

User avatar
exxos
Site Admin
Posts: 1439
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS mods for more free RAM

Post by exxos » Sun Jan 07, 2018 11:03 am

Nice. Being able to run games on a 1mb machine with you HDD driver I'm sure will be really useful for a lot of people! :D
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

troed
Posts: 82
Joined: Mon Aug 21, 2017 10:27 pm

Re: TOS mods for more free RAM

Post by troed » Sun Jan 07, 2018 11:54 am

This is really really cool! Nice touch with .TOS, and the combined 1.04+TOS 2.06 desktop. Esp. people with flash tos should have one bank flashed with this.

User avatar
exxos
Site Admin
Posts: 1439
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS mods for more free RAM

Post by exxos » Sun Jan 07, 2018 12:20 pm

I tried TOS214 with GB6 latest build, all tests work, but I get a crash on RAM test, no idea why ? 2 bombs..
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Petari
Posts: 130
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS mods for more free RAM

Post by Petari » Mon Jan 08, 2018 11:13 am

exxos wrote:
Sun Jan 07, 2018 12:20 pm
I tried TOS214 with GB6 latest build, all tests work, but I get a crash on RAM test, no idea why ? 2 bombs..
The reason is that you use Mxalloc function, while this is not true TOS 2.xx - GEMDOS is from TOS 1.04 - that's is what makes it more compatible with SW. Maybe I should change TOS version code to something like 0146 or 0164 - still may be confused with TOS 1.x6 or 1.6x (STE TOS v.)
Running benchmarks with this has no much sense - it will be same as in regular TOS 1.04 and/or 1.06 . But it may happen that I will put in remaining free space of ROM some accelerated code. I looked Turbo ST and Warp - later is better, faster. Of course, there is no space for complete Warp, what is over 60KB, just some functions - text outprint in first place.

User avatar
arf
Posts: 33
Joined: Sun Oct 29, 2017 9:30 am

Re: TOS mods for more free RAM

Post by arf » Mon Jan 08, 2018 11:43 am

Petari wrote:
Mon Jan 08, 2018 11:13 am
exxos wrote:
Sun Jan 07, 2018 12:20 pm
I tried TOS214 with GB6 latest build, all tests work, but I get a crash on RAM test, no idea why ? 2 bombs..
The reason is that you use Mxalloc function, while this is not true TOS 2.xx - GEMDOS is from TOS 1.04 - that's is what makes it more compatible with SW. Maybe I should change TOS version code to something like 0146 or 0164 - still may be confused with TOS 1.x6 or 1.6x (STE TOS v.)
I’d suggest not to change version numbers, if the version hasn’t changed actually. Application software should check for the availability of a GEMDOS function, and not check for version numbers. That should be a last resort if nothing else helps.

From old code:

Code: Select all

LOCAL BOOLEAN IsThereMxalloc(VOID)
{
	if ((LONG)Mxalloc(-1,0) == -32L)
		return(FALSE);
	else
		return(TRUE);
}
--
Against signature spam!

User avatar
arf
Posts: 33
Joined: Sun Oct 29, 2017 9:30 am

Re: TOS mods for more free RAM

Post by arf » Mon Jan 08, 2018 11:45 am

Petari wrote:
Mon Jan 08, 2018 11:13 am
But it may happen that I will put in remaining free space of ROM some accelerated code. I looked Turbo ST and Warp - later is better, faster. Of course, there is no space for complete Warp, what is over 60KB, just some functions - text outprint in first place.
TurboST is too old and buggy, and works only in several circumstances. Warp is better, but I’d say nothing beats NVDI in terms of speed, and being bug-free (well, never free, but really rare occasions). NVDI also works with 68010++, and with color/non-ST-bitmap formats.
--
Against signature spam!

Petari
Posts: 130
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS mods for more free RAM

Post by Petari » Mon Jan 08, 2018 6:11 pm

This is new, so I can change version number now without problems. NVDI is too demanding - I don't want something RAM hungry in project called 'more free RAM' :D Disassembled partially Warp, late version - it supports 68010 for sure, I guess 68030 too, but all it is pretty hard to follow, and some functions need extra RAM too. So, I decided to do something other with free space - so only in ROMs of 256KB length.
My old idea - extended floppy image system, what will not store images in RAM (like Floppy Image Runner), but will use RAW hard disk access for images on them.
The benefits: can work with only 512KB RAM
Images can be of size up to 32 MB.
No need for + hard disk buffers - logical sector size remains at 512 bytes.

Basically, you can have image of let's say 10 MB, where can put content of some 12 floppies, and it may be accessible as drive A: or drive C: , while real drive A is assigned to B: . So, you can add new files from floppies, save from image to real floppy. And can have even installed regular hard disk driver.
But first thing that it work is to reserve space on hard disk. It may be at begin just to dedicate 1 existing partition for image store. Then that partition will be no more accessible, of course. After boot, user can select what image(s) to assign to which letter - A,B,C .
For machines without support for 256KB TOS ROMs this system can go in cartridge.
I think that I can put together very basic test version, for testing concept very soon. That will be just A as image and B as real floppy A.

Petari
Posts: 130
Joined: Tue Nov 28, 2017 1:32 pm

Re: TOS mods for more free RAM

Post by Petari » Tue Jan 09, 2018 10:05 am

Here is test v. for new floppy image concept:
RAWI10M.ZIP
(2.43 MiB) Downloaded 2 times
This is same TOS 1.04 mod as above, with added code for low level ACSI disk access. 10 MB image is supplied .
Instead as Floppy Image Runner works by holding floppy images in RAM, what means practically that min RAM is 2MB, this new
system stores images on mass storage, and using RAW disk access (code in TOS ROM) so no any extra RAM is required.
Works well with only 512KB RAM.

In this version, drive A: is extended floppy image, with capacity of 9MB. Max is 32MB. So, you can place plenty of it in single image. Drive B: is actually real floppy A: . So, can do transfers.
In final version it will be configurable. Probably most useful will be to have: A: as extended image, B: as real floppy A: and C: as another extended image. But regular hard disk drivers may work too. Then, of course will need more RAM .

This is what can fit in free space of TOS 1.04 ROM. Later versions will be for TOS 1.62 - there is plenty of free space. For ST may use TOS 1.46 (combo of 1.04 and 2.06) . Or in cartridge.

May test this in some emulator like Steem or Hatari. Will need real hard disk emulation (Pasti for Steem), ACSI hard disk in Hatari. Or Steem SSE with ACSI em. Can test on real HW too, but then need to burn image to EPROMs, and write long file to some SD card and use Satandisk, UltraSatan, CE ...

P.S. :
Now there are 3 games in 10 MB image. One is HAGA type (Action Fighter), so needs min 1MB RAM (may return to Desktop, save gamestates) - mostly to test how it works with this extended floppy image concept.
Simulcra needs only 512KB RAM, it uses not regular files, but direct floppy access. Here it is replaced by direct access to image file of floppy inside folder of game. Extra code in game is short, because uses added ACSI code in TOS ROM.
Secret of the Monkey Island: regular files, all 4 floppy content here in extended floppy image's 1 folder. And game works from hard drive with only 512KB of RAM .

User avatar
exxos
Site Admin
Posts: 1439
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: TOS mods for more free RAM

Post by exxos » Thu Jan 11, 2018 3:23 pm

Petari wrote:
Mon Jan 08, 2018 11:13 am
The reason is that you use Mxalloc function, while this is not true TOS 2.xx - GEMDOS is from TOS 1.04 - that's is what makes it more compatible with SW. Maybe I should change TOS version code to something like 0146 or 0164 - still may be confused with TOS 1.x6 or 1.6x (STE TOS v.)
Running benchmarks with this has no much sense - it will be same as in regular TOS 1.04 and/or 1.06 .
Could you call it TOS1.41 for example ? I wasn't interested in benchmarking this as it would be pointless like you say, I was just seeing if everything worked in general :) obviously if it can confuse my software then it could confuse others as well ?
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply