I 'copied a new boot loader' onto the CHD you uploaded - and the system started when i pressed 'W' in the Rainbow boot menu.

After that, things get odd. Observations:

- WUTIL 3.2 doesn't recognize the partition structure / and or identifier. It just shows GAP (for 'empty space').
Can't tell if Wutil was ever tested with BSW.

- MS-DOS 3.1 recognizes 'non MS-DOS partitions on the hard disk' at startup.

Sure the hard disk image has been correctly initialized?


A general problem is that older (DEC) tools are hard coded for 4 heads and a limited set of OEM hard disks, while newer tools rely on badly documented hd.structures (HOM, BOM, DPD, whatever).

I observed earlier that Wutil did not fill in the number of heads value when it should. It put in 0x00 and a divide by zero resulted - when later code tried to determine the cylinder #.


[Analysis of the Fschk crash] - - LOG

A quick look into 'error.log' reveals the last read is from sector number #15.

Sector numbers 1 to 12, then 10, 15, 15 are read (last one twice -> retry...?)

Code tries to write, but doesn't complete all of the necessary steps (set head, drive, sector in WD2010 controller) before 'fschk' runs into the woods.
The write isn't actually done.

I tested my hard disk code routines (hdc_write_sector, do_write() ) mainly on MS-DOS 3.x, so there can be access patterns i haven't covered (or race conditions).

'Interrupts off' (flickering in emulator) usually occurs after IRET (return from interrupt), when the stack is messed up.

You may turn on logging when you set 'log' to 1 in 'mess.ini'.

The ini file can be rebuilt with
>mess -showconfig > mess.ini

---- [EDIT]
@Bsdimp: what is the purpose of 'fcheck'?

@R.Belmont: may i ask if there is any news on the rewrite of WD2010...? smile

Last edited by Bavarese; 04/19/18 04:57 PM.