[Coco] format problems
L. Curtis Boyle
curtisboyle at sasktel.net
Sat Jan 19 17:21:26 EST 2019
Format takes enough system RAM to build an entire track image at once (so it can build the interleaves), and not just the data portion, but the header, footer, sync, CRC, etc. The system call for write track should be changed to allocate a temporary 8k block from outside the system map, since it has to kill IRQ’s during the write track anyways (for the standard floppy controller; no halt controllers and/or hard drive controllers will do things a little differently).
As for SHELL, it should be kept at <$1E00 bytes simply so that it doesn’t take more thank one 8K block in it’s process space. Since processes always have the program mapped at the end of the 64k process space, and the last $200 (512) bytes is always vector page RAM and I/O, if you push it past that it has to allocate 16k in your process space so that it won’t try to overwrite the vector page & I/O, and still leave you up to 56k data area for the shell to use, if needed.
Sent from my iPhone
> On Jan 19, 2019, at 4:08 PM, Tormod Volden <lists.tormod at gmail.com> wrote:
>
>> On Sat, Jan 19, 2019 at 10:40 PM Gene Heskett wrote:
>> I have managed to get the twin seagate 1G drives to spin up again, so my
>> coco is running. My latest build of nitros9 has a format command that
>> $10C7 byte long, same as my latest nitros9 build for a 6309.
> ...
>> At the end of all this, it looks as if I have exactly the same code as my
>> March 2016 build, possibly with some descriptor fixes by Chris Hawk.
>
> Hi Gene,
>
> The level1/cmds/format.asm in the repo hasn't had any code changes since 2005:
> Module size: $10C7 #4295
> Module CRC : $0ABD19 (Good)
>
>> Format it unchanged. Still needs 11170 bytes of sysram, but but I only
>> have 10k available. That equals an out of ram crash by about the 3rd
>> track written to a floppy. Since it writes a track at a time while
>> formatting, that seems like its asking for more memory than it needs.
>
> Yes, can anyone explain why it needs so much memory?
>
>> But adjusting its memory either direction only makes it crash before
>> even stepping to the next track. So I still can't format anything.
>>
>> Whats the maximum size I can merge to make a shell, this one is $1DC7
>> long.
>
> Your $1DC7 is 7623 decimal. The cmds/makefile in the repo warns that
> the shell module must be less than 7681 bytes. Not sure why.
>
> Regards,
> Tormod
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>
More information about the Coco
mailing list