This is for the programmers amongst us. I am looking for some
pointers to the DSK file format. Like the number of tracks, sectors
and so on. Hope that someone can gimme a clue.
thanks in advance,
Erwin Poelman
A DSK file is just a floppy disk dump, nothing more, nothing less.
If the souce is standard MSX the DSK file is just the sector data.
So if you know how a fat12 MSX 360KB or 720KB floppy disk looks like, then you
know all about a DSK file.
MSX & X10 & & 6502 & sales http://members.chello.nl/h.otten
> Hello,
>
> This is for the programmers amongst us. I am looking for some
> pointers to the DSK file format. Like the number of tracks, sectors
> and so on. Hope that someone can gimme a clue.
As far as I know, its a disk-image. They are most times 360 or 720 KBytes in size.
Formally, in the msx-spec, it says that the floppy format is the same as MS-Dos
(version 2!). The formal description does actualy sais 'see the ms-dos spec'.
There is a tiny remark, indicating that even the boot-sector should be that of a
i8086-PC, not runnable on a Z80.
The funny part is that the M$-Dos specification does describe single-sided, 3.5"
floppies (the 360 KByte size) but they are never implemented in MS-Dos, hence
there is no PC with an M$-os that can access them. As far as I know, there is a
slight difference between 5.25"-double sided disks with 360KByte and 3.5"-single
sided disks with 360 KByte. The 720 KByte size is known and accessable at both
sides, they format to the same at both machines (except the MSX is roughly 2.2
times faster than any current PC!!!)
From a unix/linux point of view, it is a fat or vfat filesystem with no large
filenames and no subdirectories. Hence you should be able to access and use them
from linux. Try: `mount /path/to/file.dsk /mnt/floppy -o loop` and cd to
/mnt/floppy to see the contents.
To create a floppy from the image, on unix/linux, do `dd if=/path/to/file.dsk
of=/dev/floppy`. With a M$-os, you need tools like `rawrite` as found in most
linux distributions to create a real floppy from the image.
CBee
Windows XP can read/write single-sided 3.5" floppies fine, and I believe
older M$ OS's can too.
Haven't tried formatting one though...
> 360 KByte. The 720 KByte size is known and accessable at both sides,
> they format to the same at both machines (except the MSX is roughly 2.2
> times faster than any current PC!!!)
They don't:
1) the interleaving is different, making floppies formated on PC slower
on MSX than when formated on MSX
2) the boot sector is different
--
Grtjs, Manuel
PS: MSX FOR EVER! (Questions? http://faq.msxnet.org/ )
PPS: Visit my homepage at http://manuel.msxnet.org/
If you format a disk on the PC then boot it on an MSX the MSX will hang
up. I usually format on my MSX then copy the files/disk image on my PC.
In MSDOS it is possible to format to 720 using the command format /f:720
David
> If you format a disk on the PC then boot it on an MSX the MSX will hang
> up.
Works the other way around, too, BTW.
See -- PC and MSX are 100% compatible :-P
Eric
Is there any information about this available?
What kind of sector order PC uses? does it depend of PC model?
What kind of sector order MSX uses? does it depend of MSX model?
> Windows XP can read/write single-sided 3.5" floppies fine, and I believe
> older M$ OS's can too.
At least Win9x can't read 360Kb standard floppy. There is anyway a trick to
get around this problem, but I don't remember the details. I think, you had
to change the sector lenght information on boot sector to 1024 or something
as weird to get the disk to work on PC and MSX.
> If you format a disk on the PC then boot it on an MSX the MSX will hang
> up.
It not hard to make a bootsector, that works on PC and MSX...
~NYYRIKKI
Are you realy sure? Is it true single sided?
Currently (well, short after the first double sided disks are produced) no
sinlge sided disks are produced, most are double sided with (or even without) an
error on the flipside.
I've seen PCs (M$-dos 3.x and above) saying to format a floppy single sided but
actually, they formatted only half of the floppy, double sided.
I recall by head: on a vg8135, with sinlge sided drive and double sided drive,
I've tested those floppies. The double sided drive could access the disks, the
single sided one could not. (there where more problems realy using them hence
not usable).
Floppies, formatted in the single sided drive (hence truly single sided
formatted) could not be accessed by the M$-Dos PC.
Other reported problems are most likely due to HDD drives that don't have the
power to properly write a trach on a (older) DD disk: the old information of the
track is not properly erased/overwritten hence DD-drives read both the old and
new information and hence are confused.
For booting a MSX, the bootsector is not used to feed the processor as on a
M$Dos pc. This is due to the specification of the floppy filesystem. It realy
says that a MSX bootsector contains i8086 instructions for compatibility reasons.
As far as I know, the bootsector produced by a MSX is comparable by the one
produced by M$Dos 1.x or 2.x.
CBee
Yup, I formatted a DS disk on a SS drive (Sony HBD-50). XP recognized it
correctly as a 360K disk and I was able to read and write to it
normally. I also quick-formatted it under XP and while it said the disk
was 720K, the result was a normal empty 360K disk.
All of this on a nforce2 chipset with XP SP1.
It's very possible it depends on the diskdrive as well. I can't remember
exactly the brand and type of mine, but it's either a Mitsumi or a Sony.
I have some genuine SS disks lying around, which I could test, but I
doubt it'd make a difference.
Guess I'm lucky with my setup :)
Greetz,
GuyveR800
K.
"GuyveR800" <n...@email.address> wrote in message
news:3fb3e405$0$58711$e4fe...@news.xs4all.nl...
This information is incorrect. Boot sector will be loaded to address #C000
and ML code is executed from #C01E. First time with carry flag not set and
second time when memory is configured (C flag set)
~NYYRIKKI
Contents of the boot-sector:
Byte 00: 0xE9 or 0xEB (JMP-opcode of the 8086 processor)
Byte 01+02: start-address of a MS-DOS (not MSX-DOS!) boot-strap loader
This rule applies at least to MSX-Basic and MSX-DOS formatted disks, but
might not be valid for copy-protected disks with a different boot-sector.
Such disks will most likely contain pure Z80 code and result in unexpected
behavior if used to boot from a PC floppy drive...
Also important: if reading MSX(-DOS) disks from Windows 9X you should check
if the disk is write-protected! This is because these windows versions are
writing to the disk, even if you only want to read it. This behavior will
usually corrupt copy-protected disks. More information about that can be
found on http://support.microsoft.com/support/kb/articles/q150/5/82.asp
(Article "Understanding Disk Volume Tracking in Windows 95")
Lex
(this message was made of 100% recycled electrons)
======== http://members.EUnet.at/lexlechz/ ========
"NYYRIKKI" <per...@mail2hell.com> schrieb im Newsbeitrag
news:vT5tb.2639$g4.5...@news2.nokia.com...