Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II » BSAVE (ing) in Dos 3.3 sector question?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
BSAVE (ing) in Dos 3.3 sector question? [message #305962] Fri, 11 December 2015 12:02 Go to next message
Anonymous
Karma:
Originally posted by: Tom Porter

Heres a weird one, maybe I just do not understand how the Apple works.

I know that Text Files have a minimum 2 block size which is quite alright (unless its in opened/unsaved condition). I'm not sure about Binary, but I think it also has the same 'limitation'.

The problem is when I do BSAVE a chunk of memory. Usually its not a big problem but space concerns on my new game are making me triple check every single block of available disk space.
----
BSAVING a block of memory, say BSAVE FILE,A2048,L512 produces a file of 4 block, yet it only consists of 2 block of (256 pages)... is that correct. Now I know that the file length/size is also recorded, so if I manually cut it back say 20 bytes, it reduces the file down to 3 blocks.

Why does this not appear on the table as 2 blocks?


Thanks a lot, Tom
Re: BSAVE (ing) in Dos 3.3 sector question? [message #305964 is a reply to message #305962] Fri, 11 December 2015 12:55 Go to previous messageGo to next message
gids.rs is currently offline  gids.rs
Messages: 1395
Registered: October 2012
Karma: 0
Senior Member
On Friday, December 11, 2015 at 11:02:48 AM UTC-6, Tom Porter wrote:
> Heres a weird one, maybe I just do not understand how the Apple works.
>
> I know that Text Files have a minimum 2 block size which is quite alright (unless its in opened/unsaved condition). I'm not sure about Binary, but I think it also has the same 'limitation'.
>
> The problem is when I do BSAVE a chunk of memory. Usually its not a big problem but space concerns on my new game are making me triple check every single block of available disk space.
> ----
> BSAVING a block of memory, say BSAVE FILE,A2048,L512 produces a file of 4 block, yet it only consists of 2 block of (256 pages)... is that correct. Now I know that the file length/size is also recorded, so if I manually cut it back say 20 bytes, it reduces the file down to 3 blocks.
>
> Why does this not appear on the table as 2 blocks?
>
>
> Thanks a lot, Tom


One sector is always needed for the Track/sector list since not all data is stored sequentially, there needs to be a way to find other sectors of data after the first one.
Re: BSAVE (ing) in Dos 3.3 sector question? [message #305985 is a reply to message #305964] Fri, 11 December 2015 13:22 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
Your 512-bytes file requires one sector for the track/sector list, four bytes for start address and length, followed by 512 bytes of your data. Those initial four bytes are pushing your data into a third sector. If you shorten by just four bytes, you'll be back to three sectors.
Re: BSAVE (ing) in Dos 3.3 sector question? [message #305986 is a reply to message #305964] Fri, 11 December 2015 14:40 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Don Bruder

In article <9fe4b9c8-14f1-4489-b193-460efe78bb67@googlegroups.com>,
gids.rs@sasktel.net wrote:

> On Friday, December 11, 2015 at 11:02:48 AM UTC-6, Tom Porter wrote:
>> Heres a weird one, maybe I just do not understand how the Apple works.
>>
>> I know that Text Files have a minimum 2 block size which is quite alright
>> (unless its in opened/unsaved condition). I'm not sure about Binary, but I
>> think it also has the same 'limitation'.
>>
>> The problem is when I do BSAVE a chunk of memory. Usually its not a big
>> problem but space concerns on my new game are making me triple check every
>> single block of available disk space.
>> ----
>> BSAVING a block of memory, say BSAVE FILE,A2048,L512 produces a file of 4
>> block, yet it only consists of 2 block of (256 pages)... is that correct.
>> Now I know that the file length/size is also recorded, so if I manually cut
>> it back say 20 bytes, it reduces the file down to 3 blocks.
>>
>> Why does this not appear on the table as 2 blocks?
>>
>>
>> Thanks a lot, Tom
>
>
> One sector is always needed for the Track/sector list since not all data is
> stored sequentially, there needs to be a way to find other sectors of data
> after the first one.

EXCEPT when the file fits completely into one sector - then there's no
overhead for the T/S list. Read up on "seedling", "sapling" and "tree"
files - Short form:

Seedling files have *no* T/S list sector overhead - the catalog entry
points directly at the lone sector holding the file's data, and the file
will be exactly one sector in size.

Sapling files have *exactly one* T/S list sector worth of overhead - the
catalog entry points at a T/S list sector, whose entries in turn point
at the actual data sectors.
The size will be (1 + datasize/256 + (1 * ((datasize mod 256) != 0)))
sectors. (Which is to say, whatever number of 256 byte sectors are
needed to hold the actual data, plus 1 sector for the T/S list.)

Tree files have a *minimum* of two sectors worth of T/S List overhead -
A "master" T/S list sector, which is a list of pointers to one or more
additional T/S list sectors, which in turn hold values that point to the
actual data sectors. A tree file's catalog entry points at the master
T/S list sector. Size in sectors is is figured similar to the sapling
file, adding 1 for the master, plus 1 for each T/S list sector the
master points to.

--
Security provided by Mssrs Smith and/or Wesson. Brought to you by the letter Q
Re: BSAVE (ing) in Dos 3.3 sector question? [message #305987 is a reply to message #305986] Fri, 11 December 2015 14:59 Go to previous messageGo to next message
mverpelli is currently offline  mverpelli
Messages: 289
Registered: May 2013
Karma: 0
Senior Member
> EXCEPT when the file fits completely into one sector - then there's no
> overhead for the T/S list. Read up on "seedling", "sapling" and "tree"

I remember this scheme for ProDOS not DOS 3.3.

Marco
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306029 is a reply to message #305962] Sat, 12 December 2015 03:12 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

Remember, this is for Dos 3.3 (honestly Pronto Dos *3.3)

Ok, so I should only be worried if there are a lot of 'little' files. If I make a bunch of 'mini' recordings of binary files as (temps) then combine them later to make one big file, that savings would come back right?

EXP1 (saving as work/temp files)
BSAVE ONE,A2400,L252 (3 BLOCKS)
BSAVE TWO,A2652,L252 (3 BLOCKS)
BSAVE THREE,A2904,L252 (3 BLOCKS)
----------------Total 9 blocks

EXP2 (opening those temps, then saving them into one)
FOR X=1 TO 3:BLOAD ONE,BLOAD TWO,BLOAD THREE:NEXT X ('not real code)
BSAVE FINAL,A2400,L756 (4 BLOCKS)
----------------Total 4 blocks

*... I just tried it out, it works great! Cool!
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306030 is a reply to message #305962] Sat, 12 December 2015 03:18 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

Remember, this is for Dos 3.3 (honestly Pronto Dos *3.3)

Ok, so I should only be worried if there are a lot of 'little' files. If I make a bunch of 'mini' recordings of binary files as (temps) then combine them later to make one big file, that savings would come back right?

EXP1 (saving as work/temp files)
BSAVE ONE,A2400,L252 (2 BLOCKS)
BSAVE TWO,A2652,L252 (2 BLOCKS)
BSAVE THREE,A2904,L252 (2 BLOCKS)
----------------Total 6 blocks

EXP2 (opening those temps, then saving them into one)
FOR X=1 TO 3:BLOAD ONE,BLOAD TWO,BLOAD THREE:NEXT X ('not real code)
BSAVE FINAL,A2400,L756 (4 BLOCKS)
----------------Total 4 blocks

*... I just tried it out, it works great! Cool!
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306038 is a reply to message #306030] Sat, 12 December 2015 07:24 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
Why DOS 3.3 and not ProDOS?
av
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306056 is a reply to message #305962] Sat, 12 December 2015 11:28 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

Dos 3.3 is what I learned/used as a youth... I never did upgrade to Prodos during my 'professional adult' life. I was seriously tempted because of the lack of the RamDrive, but I recently found DiskQuik, and I find it totally fascinating and have absolutely no reason to upgrade now. Besides, doesn't Prodos use more memory giving less to basic? With Pronto it has the added speed. What is the advantage with these 'mods' over Prodos?
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306059 is a reply to message #306056] Sat, 12 December 2015 12:29 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Don Bruder

In article <45f14b03-4054-45c5-8713-d9fabd09623f@googlegroups.com>,
Tom Porter <laseractiveguy@gmail.com> wrote:

> Dos 3.3 is what I learned/used as a youth... I never did upgrade to Prodos
> during my 'professional adult' life. I was seriously tempted because of the
> lack of the RamDrive, but I recently found DiskQuik, and I find it totally
> fascinating and have absolutely no reason to upgrade now. Besides, doesn't
> Prodos use more memory giving less to basic? With Pronto it has the added
> speed. What is the advantage with these 'mods' over Prodos?

In main memory, ProDOS "steals" one page up high ($BF00-$BFFF), a
handful of zero page locations (Most of them the same locations that DOS
3.3 claims) and diddles a few things on page $0300 - again, mostly the
same places DOS 3.3 uses). Everything else lives in bank-switched memory
that "plain" (meaning "no added on assembly language tricks" or
deliberate PEEKing/POKEing at soft switches) Applesoft never even knows
exists.

Without digging up a memory map, I'm not certain exactly what
BASIC.SYSTEM snatches, but it's not much, if any, beyond the stuff that
would be grabbed by DOS 3.3 - BASIC.SYSTEM is essentially just a little
bit of glue to stick the Applesoft in ROM to ProDOS routines - in nearly
the same manner as DOS 3.3 is glued to ROM Applesoft.

In short, ProDOS vs. DOS 3.3 is a pretty pointless comparison. At least
at the level of Applesoft, the majority of the differences between them
are invisible. Things change *DRASTICALLY* when you start playing at the
assembly level, but... <shrug> When HASN'T that been the case?

--
Security provided by Mssrs Smith and/or Wesson. Brought to you by the letter Q
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306067 is a reply to message #306056] Sat, 12 December 2015 13:55 Go to previous messageGo to next message
mverpelli is currently offline  mverpelli
Messages: 289
Registered: May 2013
Karma: 0
Senior Member
> but I recently found DiskQuik

Would you like to try this utility? It's give you 309 sectors free, few more than QuickDisk. I'm sorry sources are lost.

https://drive.google.com/file/d/0Bz0ReUsiwYcpN09JS0dNN05zZmM /view?usp=sharing

Marco
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306077 is a reply to message #306056] Sat, 12 December 2015 18:36 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
On Saturday, December 12, 2015 at 5:28:58 PM UTC+1, Tom Porter wrote:
> Dos 3.3 is what I learned/used as a youth... I never did upgrade to Prodos during my 'professional adult' life. I was seriously tempted because of the lack of the RamDrive, but I recently found DiskQuik, and I find it totally fascinating and have absolutely no reason to upgrade now. Besides, doesn't Prodos use more memory giving less to basic? With Pronto it has the added speed. What is the advantage with these 'mods' over Prodos?

Understood. I always think assembly language, not BASIC. ProDOS and assembly give you more memory than DOS 3.3 in the main bank.
I also prefer the hierarchical file system of ProDOS and its speed over DOS 3.3.

Keep up the good work,
Antoine
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306086 is a reply to message #305962] Sat, 12 December 2015 21:56 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

Thank you Marco,

BitDisk seems to be a little more concise in execution and file sizes/number of files compared to DiskQuik... except for the title screen! It loads/runs the files in a weird spot 24576 but after some testing, it doesn't seem to need the data to work once loaded. Also provides 71 more sectors. I like BeagleBros, but this seems to be slightly better. Appreciate the link!

(Also, if you get the file and use Pronto, it must be converted/copied by a Pronto disk or will destroy your destination data/disk.)

Tom
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306161 is a reply to message #306086] Mon, 14 December 2015 10:32 Go to previous messageGo to next message
mverpelli is currently offline  mverpelli
Messages: 289
Registered: May 2013
Karma: 0
Senior Member
> ... except for the title screen!

I think that the title screen is used to give time to the user to press the SPACE key. If it is pressed the program don't (re)initialize the RAM disk.

Marco.
Re: BSAVE (ing) in Dos 3.3 sector question? [message #306438 is a reply to message #306056] Sat, 19 December 2015 05:50 Go to previous messageGo to next message
ol.sc is currently offline  ol.sc
Messages: 211
Registered: January 2013
Karma: 0
Senior Member
On Sat, 12 Dec 2015 08:28:56 -0800 (PST), Tom Porter
<laseractiveguy@gmail.com> wrote:

> What is the advantage with these 'mods' over Prodos?

Just two aspects:

1. With DOS 3.3 you're more or less bound to DISK II drives (or
devices emulating DISK II drives). In contrast ProDOS has the concept
of device drivers making it extensible. Users of your software will
have much more choices where to store your software when you build it
on ProDOS. Just two - relevant - examples for devices working with
ProDOS but not with DOS 3.3: The original CFFA and the ADTPro Virtual
Drive.

2. With ProDOS your initial issue with the overhead for storing 512
bytes wouldn't exist at all. ProDOS is a) clever enough to understand
that it doesn't need something like a track-sector-list for files up
to 512 bytes and it b) stores the start address in the directory
instead of the file.

Regards,
Oliver
Re: BSAVE (ing) in Dos 3.3 sector question? [message #339145 is a reply to message #305962] Sun, 12 March 2017 15:33 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

A while back... someone showed me BITDISK which is a RAMDRIVE for DOS 3.3.... it utilizes every available resource on the board that is not lower 48k to provide 309 blocks of ramdrive, better than DISK-QUIK by beagle-bros and everything else I've seen. The only downside is the titlescreen. I have been looking into it and here is what you need to modify to remove the titlescreen.... if anybody is interested....

Change the first line of BITDISK to read...then resave.
6000- 4C 73 60 JMP $6073

If the original author is still around... whoops, I'm sorry! -Tom at Naspite
Re: BSAVE (ing) in Dos 3.3 sector question? [message #339146 is a reply to message #339145] Sun, 12 March 2017 16:25 Go to previous messageGo to next message
bpiltz is currently offline  bpiltz
Messages: 78
Registered: October 2012
Karma: 0
Member
Where may I find such a treasure known as "BITDISK"? A quick search unfortunately proved fruitless. The best ramdrive for DOS 3.3 that I know of only provides 242 sectors, 309 free sectors sounds fantastic! Any help in locating it for download would be truly appreciated.
Re: BSAVE (ing) in Dos 3.3 sector question? [message #339150 is a reply to message #339145] Sun, 12 March 2017 18:04 Go to previous messageGo to next message
gids.rs is currently offline  gids.rs
Messages: 1395
Registered: October 2012
Karma: 0
Senior Member
On Sunday, March 12, 2017 at 1:33:40 PM UTC-6, Tom Porter wrote:
> A while back... someone showed me BITDISK which is a RAMDRIVE for DOS 3.3.... it utilizes every available resource on the board that is not lower 48k to provide 309 blocks of ramdrive, better than DISK-QUIK by beagle-bros and everything else I've seen. The only downside is the titlescreen. I have been looking into it and here is what you need to modify to remove the titlescreen.... if anybody is interested....
>
> Change the first line of BITDISK to read...then resave.
> 6000- 4C 73 60 JMP $6073
>
> If the original author is still around... whoops, I'm sorry! -Tom at Naspite


I believe you mean 309 sectors or pages. Blocks is used with Prodos and are 512 bytes each compared to the 256 byte sector.

I don't use DOS 3.3 any more so don't have a need for a ram drive, but when I did, for me the best ramdrive was the ramfactor card. It allowed the Dos 3.3 max of 50 tracks of 16 sectors for 800 sectors (or 400kb).

It also supported a Dos 3.3 ramdrive and a Prodos ramdrive at the same time and you could boot from either one.

Have you tried AMDos or UNIDos yet? Both are DOS3.3 clones that supports regular 5.25 disks but also has support for 2 volumes of 400kb on a 3.5 disk..
Re: BSAVE (ing) in Dos 3.3 sector question? [message #339253 is a reply to message #305962] Mon, 13 March 2017 20:32 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Tom Porter

https://www.dropbox.com/s/vwv1e03izyi98wv/RAMDRIVES.dsk?dl=0
Sorry if some of post is duplicate... here is 3 ram drives.... Tom
----
A while back... someone showed me BITDISK which is a RAMDRIVE for DOS 3.3.... it utilizes every available resource on the board that is not lower 48k to provide 309 blocks of ramdrive, better than DISK-QUIK by beagle-bros and everything else I've seen. The only downside is the titlescreen. I have been looking into it and here is what you need to modify to remove the titlescreen.... if anybody is interested....

Change the first line of BITDISK to read...then resave.
6000- 4C 73 60 JMP $6073

If the original author is still around... whoops, I'm sorry!
(*note, only 1 can be active at a time... and it sits at Slot 3-Drive 1)


(The following file has BITDISK... RAMDRIVE.INF (no titlescreen BITDISK) and LANG_DRIVE.INF which is a small 60 block ramdrive for the language card.... the 'buffer' sits in the 3rd text file buffer, so do not use 3 open txt files while LANG-DRIVE is active, but most people dont use do that anyway..... for DOS 3.3!
Re: BSAVE (ing) in Dos 3.3 sector question? [message #339425 is a reply to message #339253] Thu, 16 March 2017 03:02 Go to previous message
Michael J. Mahon is currently offline  Michael J. Mahon
Messages: 1767
Registered: October 2012
Karma: 0
Senior Member
Tom Porter <laseractiveguy@gmail.com> wrote:
> https://www.dropbox.com/s/vwv1e03izyi98wv/RAMDRIVES.dsk?dl=0
> Sorry if some of post is duplicate... here is 3 ram drives.... Tom
> ----
> A while back... someone showed me BITDISK which is a RAMDRIVE for DOS
> 3.3... it utilizes every available resource on the board that is not
> lower 48k to provide 309 blocks of ramdrive, better than DISK-QUIK by
> beagle-bros and everything else I've seen. The only downside is the
> titlescreen. I have been looking into it and here is what you need to
> modify to remove the titlescreen.... if anybody is interested....
>
> Change the first line of BITDISK to read...then resave.
> 6000- 4C 73 60 JMP $6073
>
> If the original author is still around... whoops, I'm sorry!
> (*note, only 1 can be active at a time... and it sits at Slot 3-Drive 1)
>
>
> (The following file has BITDISK... RAMDRIVE.INF (no titlescreen BITDISK)
> and LANG_DRIVE.INF which is a small 60 block ramdrive for the language
> card... the 'buffer' sits in the 3rd text file buffer, so do not use 3
> open txt files while LANG-DRIVE is active, but most people dont use do
> that anyway.... for DOS 3.3!
>

I'm guessing that's 60 sectors, not blocks...

--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Franklin Ace 500 Color on Composite video?
Next Topic: Questions about the IIe and Aux RAM cards
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Apr 18 19:46:33 EDT 2024

Total time taken to generate the page: 0.07162 seconds