[Coco] Nitr0S-9 question

Robert Gault robert.gault at worldnet.att.net
Wed Aug 15 00:21:29 EDT 2007


Becker, Gary wrote:
> What I am saying is that OS9boot is being written correctly and the
> hooks in LSN0 for this file (DD.BT and DD.BSZ) are correct. I am not
> saying that these values are for the boot track.
> 
> Also nothing is being written into the boot track and the boot track
> bits in the bit map are unchanged. I believe this is the offending code
> in os9gen.
> 
>          leax  sectbuff,u
>          ldy   <lsn0+DD.MAP,u	get number of bytes in device's bitmap
>          lda   <devpath
>          os9   I$Read   
>          lbcs  Bye
> 
>  
> If DD.MAP is greater than 1024 bytes, the read will overfill sectbuff.
> This happens with a disk larger than 1024*8*DD.BIT*256 or 2Meg if DD.BIT
> = 1. This is uncommon for floppies, bit not for hard disks.
> 
> Someone must have run into this issue in the past.
> 

  The value of DD.MAP for the default emulation hard drive is $B400, 
many more sectors than 1024. The value for DD.BIT is $01. The result is 
a large map which could be made more efficient on large drives by adding 
code to permit Format to accept larger values of DD.BIT.
  That doesn't address the issue of os9gen and hard drives. Why don't 
you use the HDBDOS/RGBDOS system of placing the OS9 boot disk in a Disk 
Basic partition further out on the hard drive. Then you can either 
create 35track single sided boot disks and copy them to the hard drive 
or modify hdrive or emudsk to create a new driver that can read a boot 
disk in the Disk Basic portion of the hard drive. I've done this and it 
works very well with the stock os9gen or cobbler.



More information about the Coco mailing list