Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.msdos.programmer > #121 > unrolled thread
| Started by | Ruud <ruud.baltissen@gmail.com> |
|---|---|
| First post | 2011-08-05 10:08 -0700 |
| Last post | 2011-09-01 17:34 -0700 |
| Articles | 20 on this page of 36 — 10 participants |
Back to article view | Back to comp.os.msdos.programmer
Running (Free)DOS from ROM Ruud <ruud.baltissen@gmail.com> - 2011-08-05 10:08 -0700
Re: Running (Free)DOS from ROM Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-08-05 14:20 -0400
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-06 03:49 -0400
Re: Running (Free)DOS from ROM Ruud <ruud.baltissen@gmail.com> - 2011-08-10 09:54 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-12 10:17 -0700
Re: Running (Free)DOS from ROM Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-08-12 14:54 -0400
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-12 14:54 -0700
Re: Running (Free)DOS from ROM Single Stage to Orbit <alex.buell@munted.org.uk> - 2011-08-12 23:22 +0100
Re: Running (Free)DOS from ROM "Esra Sdrawkcab" <admin@127.0.0.1> - 2011-08-17 18:18 +0100
Re: Running (Free)DOS from ROM Single Stage to Orbit <alex.buell@munted.org.uk> - 2011-08-12 22:54 +0100
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-12 15:45 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-12 18:38 -0700
Re: Running (Free)DOS from ROM Ross Ridge <rridge@csclub.uwaterloo.ca> - 2011-08-12 23:40 -0400
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-13 09:46 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-13 16:04 -0700
Re: Running (Free)DOS from ROM Kalle Olavi Niemitalo <kon@iki.fi> - 2011-08-14 12:35 +0300
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-14 09:48 -0700
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-14 02:36 -0400
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-14 10:04 -0700
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-15 03:42 -0400
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-15 10:05 -0700
Re: Running (Free)DOS from ROM Ruud <ruud.baltissen@gmail.com> - 2011-08-14 00:33 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-14 10:09 -0700
Re: Running (Free)DOS from ROM Ruud <ruud.baltissen@gmail.com> - 2011-08-15 12:44 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-16 16:05 -0700
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-17 07:01 -0400
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-17 11:07 -0700
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-18 03:26 -0400
Re: Running (Free)DOS from ROM dg1261 <dgREMOVE-THIS1261@cs.com> - 2011-08-18 08:18 +0000
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-18 10:23 -0700
Re: Running (Free)DOS from ROM Jim Leonard <mobygamer@gmail.com> - 2011-08-18 11:20 -0700
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-18 17:29 -0700
Re: Running (Free)DOS from ROM "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-08-19 03:52 -0400
Re: Running (Free)DOS from ROM dg1261 <dgREMOVE-THIS1261@cs.com> - 2011-08-19 00:30 +0000
Re: Running (Free)DOS from ROM monahanz <monahan@vitasoft.org> - 2011-08-20 17:08 -0700
Re: Running (Free)DOS from ROM "s_dubrovich@yahoo.com" <s_dubrovich@yahoo.com> - 2011-09-01 17:34 -0700
Page 1 of 2 [1] 2 Next page →
| From | Ruud <ruud.baltissen@gmail.com> |
|---|---|
| Date | 2011-08-05 10:08 -0700 |
| Subject | Running (Free)DOS from ROM |
| Message-ID | <6b6811ce-3541-47db-bd6d-4ec53eb5c182@e3g2000vby.googlegroups.com> |
Hallo allemaal, I'm hobbying more then a bit with some old IBM PC-XT (compatibles). And I found an old REX EPROM card capable of handling up to sixteen 27512s, good for 1 MByte of data. IMHO enough to contain the most used files of FreeDOS or MS-DOS. But how to do it? I know I need a kind of device driver to tell DOS with what device, in this case the EPROM card, is dealing. Problem: drivers are only loaded _after_ various other files have been loaded. The PC knows this because the BIOS contains info how to deal with a floppy drive. Or with an hard disk drive thanks to the EPROM on the HDD card. Having written my own BIOS which I can adapt to my own needs, I won't need an extra EPROM though :) I'm sure I could figure it out myself after some time (I think) but if anybody has done this before and wants to share the knowledge, I would be very pleased! Thank you very much in advance! Groetjes, Ruud Baltissen
[toc] | [next] | [standalone]
| From | Ross Ridge <rridge@csclub.uwaterloo.ca> |
|---|---|
| Date | 2011-08-05 14:20 -0400 |
| Message-ID | <j1hc8v$rf0$1@rumours.uwaterloo.ca> |
| In reply to | #121 |
Ruud <ruud.baltissen@gmail.com> wrote: >I'm sure I could figure it out myself after some time (I think) but if >anybody has done this before and wants to share the knowledge, I would >be very pleased! I haven't done anything like this, and I doubt anyone has, but I'm wondering what the problem you're actually facing is. You seem to know the obvious solutions, a block-mode device driver, an INT 13h hooking boot ROM, or adding the functionality to your own BIOS. You don't like the first option, but I don't see what's preventing you from implementing one of the second two solutions. Ross Ridge -- l/ // Ross Ridge -- The Great HTMU [oo][oo] rridge@csclub.uwaterloo.ca -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ db //
[toc] | [prev] | [next] | [standalone]
| From | "Rod Pemberton" <do_not_have@noavailemail.cmm> |
|---|---|
| Date | 2011-08-06 03:49 -0400 |
| Message-ID | <j1irmm$gjr$1@speranza.aioe.org> |
| In reply to | #121 |
"Ruud" <ruud.baltissen@gmail.com> wrote in message news:6b6811ce-3541-47db-bd6d-4ec53eb5c182@e3g2000vby.googlegroups.com... > > I'm hobbying more then a bit with some old IBM PC-XT (compatibles). > And I found an old REX EPROM card capable of handling up to sixteen > 27512s, good for 1 MByte of data. IMHO enough to contain the most used > files of FreeDOS or MS-DOS. But how to do it? > > I know I need a kind of device driver to tell DOS with what device, in > this case the EPROM card, is dealing. Problem: drivers are only loaded > _after_ various other files have been loaded. The PC knows this > because the BIOS contains info how to deal with a floppy drive. Or > with an hard disk drive thanks to the EPROM on the HDD card. Having > written > my own BIOS which I can adapt to my own needs, I won't need an extra > EPROM though :) > > I'm sure I could figure it out myself after some time (I think) but if > anybody has done this before and wants to share the knowledge, I would > be very pleased! > Sorry, not I ... I would guess that you should just have the BIOS emulate a harddisk using the data on the EEPROM. IIRC, the first IBM PCs had no hard drive routines in their BIOS. AIUI, their hard drives had their own interface cards which also had ROM routines on that card. Later on, the BIOS gained interrupt routines for hard drives. AIUI, Int 13h was originally for floppies and is redirected to Int 40h if a hard disk is found. If a hard disk is found, then Int 13h is for hard disk. I'm assuming Int 13h must redirect floppies to Int 40h when a hard disk is installed. AIUI, the BIOS will enable ROM code for other devices. Apparently, it searches for AA55h signature between 640KB and 1MB on 2KB boundaries to locate other BIOS routines, e.g., video BIOS, add in cards, etc. So, as I see it, you're emulating a "ramdisk", via your own add in device routines placed somewhere between 640K and 1MB in ROM/EPROM/EEPROM that need an AA55h on a 2KB boundary, probably trapping Int 13h, maybe Int 18h and/or 19h, or somesuch ... E.g., the "new" Int 13h would need to "know" that it was accesses the EPROM and use different routines from what it uses for a hard drive or floppy. 1981 BIOS Int 13h floppy support: 1981 for IBM PC 1984 BIOS extended Int 13h hard disk support: 1984 for IBM AT 1992 IBM/MS Int 13h extensions 1994 Phoenix EDD 1.0 - BIOS extended Int 13h CHS translation 1996 BBS (Bios Boot Spec) 1.01 - boot devices w/out Int 13h support (BBS adjusts Int 18h and 19h operation also) 1998 Phoenix EDD 3.0 - BIOS extended Int 13h for 28-bit LBA Some of those might be work a look, e.g., BBS. Rod Pemberton (from comp.os.msdos.programmer)
[toc] | [prev] | [next] | [standalone]
| From | Ruud <ruud.baltissen@gmail.com> |
|---|---|
| Date | 2011-08-10 09:54 -0700 |
| Message-ID | <6e31a256-92cf-4746-ad84-375bf8a160cb@b19g2000yqj.googlegroups.com> |
| In reply to | #123 |
Hallo Rod, > I would guess that you should just have the BIOS emulate a harddisk using > the data on the EEPROM. BINGO, I knew there should be a "simple" solution but I simply didn't see it! Thank you very much !!! Groetjes, Ruud Baltissen www.Baltissen.org
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-12 10:17 -0700 |
| Message-ID | <8aa88c74-8511-4148-bbe3-2994ff90e17e@t30g2000prm.googlegroups.com> |
| In reply to | #125 |
On Aug 10, 9:54 am, Ruud <ruud.baltis...@gmail.com> wrote: > Hallo Rod, > > > I would guess that you should just have the BIOS emulate a harddisk using > > the data on the EEPROM. > > BINGO, I knew there should be a "simple" solution but I simply didn't > see it! > > Thank you very much !!! > > Groetjes, Ruud Baltissenwww.Baltissen.org Ruud, I'm in the process of writing my own BIOS to allow MS-DOS (Actually PC-DOS V2.1) run on an S-100 Bus system (see for example:- http://s100computers.com/Software%20Folder/8086%20Monitor/8086%20Monitor.htm) I currently have is as far as reading 5" 360K disk. I am about to try and add an HDisk. I was going to first try and add a 1.4M 3" floppy. My question is: if I return the correct disk parameters to Int 13H will DOS V2.1 be able to read the disk (even though 1.4 disks were not available at the time). Obviously I will try for later versions of DOS later. But right now they will not floppy boot. Clearly more work needed! Do you have a link to your bios code or a summary of it? I cannot get your www.Baltissen.org to link up. John
[toc] | [prev] | [next] | [standalone]
| From | Ross Ridge <rridge@csclub.uwaterloo.ca> |
|---|---|
| Date | 2011-08-12 14:54 -0400 |
| Message-ID | <j23ssv$vf1$1@rumours.uwaterloo.ca> |
| In reply to | #126 |
monahanz <monahan@vitasoft.org> wrote: >I currently have is as far as reading 5" 360K disk. I am about to try >and add an HDisk. I was going to first try and add a 1.4M 3" floppy. >My question is: if I return the correct disk parameters to Int 13H >will DOS V2.1 be able to read the disk (even though 1.4 disks were not >available at the time). The easiest way to find out would be to get a PC with both a 5 1/4" and 3 1/2' disk drive, boot MS-DOS 2.1 on it and see if it can acess the 3 1/2" drive. You can probably do this in virtual machine if you don't have the hardware. Ross Ridge -- l/ // Ross Ridge -- The Great HTMU [oo][oo] rridge@csclub.uwaterloo.ca -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ db //
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-12 14:54 -0700 |
| Message-ID | <3b4db1dc-76a2-45c9-a791-07a259061f99@s18g2000prc.googlegroups.com> |
| In reply to | #127 |
On Aug 12, 11:54 am, Ross Ridge <rri...@csclub.uwaterloo.ca> wrote: > monahanz <mona...@vitasoft.org> wrote: > >I currently have is as far as reading 5" 360K disk. I am about to try > >and add an HDisk. I was going to first try and add a 1.4M 3" floppy. > >My question is: if I return the correct disk parameters to Int 13H > >will DOS V2.1 be able to read the disk (even though 1.4 disks were not > >available at the time). > > The easiest way to find out would be to get a PC with both a 5 1/4" > and 3 1/2' disk drive, boot MS-DOS 2.1 on it and see if it can acess > the 3 1/2" drive. You can probably do this in virtual machine if you > don't have the hardware. > > Ross Ridge > > -- > l/ // Ross Ridge -- The Great HTMU > [oo][oo] rri...@csclub.uwaterloo.ca > -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ > db // Well I tried that experiment. Used A: PC-DOS V2.1 and had a 1.44M B: with files (from a DOS V3.3 system copy). Doing DIR B: gave garbage file names. Could not erase files either to try and create my own "V2.1" directory. Not sure what the problem is since both use FAT12. Interestingly I cannot get MS-DOS V3.3 to BOOT. If I could I would be in great shape. It hangs half way through the boot process. Any ideas?
[toc] | [prev] | [next] | [standalone]
| From | Single Stage to Orbit <alex.buell@munted.org.uk> |
|---|---|
| Date | 2011-08-12 23:22 +0100 |
| Message-ID | <lllgh8-50e.ln1@nntp.local.net> |
| In reply to | #128 |
On Fri, 2011-08-12 at 14:54 -0700, monahanz wrote: > Well I tried that experiment. Used A: PC-DOS V2.1 and had a 1.44M B: > with files (from a DOS V3.3 system copy). > Doing DIR B: gave garbage file names. > Could not erase files either to try and create my own "V2.1" > directory. > Not sure what the problem is since both use FAT12. Looks like the floppy disk controller isn't being set up correctly to read/write 1.44MB floppies. -- Tactical Nuclear Kittens
[toc] | [prev] | [next] | [standalone]
| From | "Esra Sdrawkcab" <admin@127.0.0.1> |
|---|---|
| Date | 2011-08-17 18:18 +0100 |
| Message-ID | <op.v0dbovx6hswpfo@dell3100> |
| In reply to | #128 |
On Fri, 12 Aug 2011 22:54:23 +0100, monahanz <monahan@vitasoft.org> wrote: > On Aug 12, 11:54 am, Ross Ridge <rri...@csclub.uwaterloo.ca> wrote: >> monahanz <mona...@vitasoft.org> wrote: >> >I currently have is as far as reading 5" 360K disk. I am about to try >> >and add an HDisk. I was going to first try and add a 1.4M 3" floppy. >> >My question is: if I return the correct disk parameters to Int 13H >> >will DOS V2.1 be able to read the disk (even though 1.4 disks were not >> >available at the time). >> >> The easiest way to find out would be to get a PC with both a 5 1/4" >> and 3 1/2' disk drive, boot MS-DOS 2.1 on it and see if it can acess >> the 3 1/2" drive. You can probably do this in virtual machine if you >> don't have the hardware. >> >> Ross Ridge >> >> -- >> l/ // Ross Ridge -- The Great HTMU >> [oo][oo] rri...@csclub.uwaterloo.ca >> -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ >> db // > > Well I tried that experiment. Used A: PC-DOS V2.1 and had a 1.44M B: > with files (from a DOS V3.3 system copy). > Doing DIR B: gave garbage file names. > Could not erase files either to try and create my own "V2.1" > directory. > Not sure what the problem is since both use FAT12. > do you need drivparm? http://webpages.charter.net/danrollins/techhelp/0279.HTM > Interestingly I cannot get MS-DOS V3.3 to BOOT. If I could I would be > in great shape. It hangs half way through the boot process. Any ideas? -- [dash dash space newline sig] "Nuns! NUNS! Reverse! Reverse!"
[toc] | [prev] | [next] | [standalone]
| From | Single Stage to Orbit <alex.buell@munted.org.uk> |
|---|---|
| Date | 2011-08-12 22:54 +0100 |
| Message-ID | <u1kgh8-v2d.ln1@nntp.local.net> |
| In reply to | #126 |
On Fri, 2011-08-12 at 10:17 -0700, monahanz wrote: > if I return the correct disk parameters to Int 13H > will DOS V2.1 be able to read the disk (even though 1.4 disks were not > available at the time). Yes definitely as long as the floppy disk controller supports it. -- Tactical Nuclear Kittens
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-12 15:45 -0700 |
| Message-ID | <480676f2-43d9-4231-a96e-46b5302b4fff@t20g2000prf.googlegroups.com> |
| In reply to | #129 |
On Aug 12, 2:54 pm, Single Stage to Orbit <alex.bu...@munted.org.uk> wrote: > On Fri, 2011-08-12 at 10:17 -0700, monahanz wrote: > > if I return the correct disk parameters to Int 13H > > will DOS V2.1 be able to read the disk (even though 1.4 disks were not > > available at the time). > > Yes definitely as long as the floppy disk controller supports it. > -- > Tactical Nuclear Kittens That sounds like good news to me. However I would like to be sure I understand you correctly (as I am going to have to write a chunk of software. The good news is I control the r/w to the FDC 100% in the BIOS. So is it correct that if I read/write sectors to a 1.44M floppy (after returning the Disk paramaters, sec/track, cylinders, etc.,Int 13, AH=8) that DOS 2.1 will respond correctly even though 1.44 Disks were not widely used at that time. (only 1.2M 5" drives). Likewise along exactly the same lines, I control 100% the HDISK controller. Can I get way for the IBM "Standard Drive types" -- obviously staying within the limits of a FAT12.
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-12 18:38 -0700 |
| Message-ID | <f1651e66-4b50-4375-9921-c9e1ce378b7b@y19g2000pre.googlegroups.com> |
| In reply to | #131 |
On Aug 12, 3:45 pm, monahanz <mona...@vitasoft.org> wrote: > On Aug 12, 2:54 pm, Single Stage to Orbit <alex.bu...@munted.org.uk> > wrote: > > > On Fri, 2011-08-12 at 10:17 -0700, monahanz wrote: > > > if I return the correct disk parameters to Int 13H > > > will DOS V2.1 be able to read the disk (even though 1.4 disks were not > > > available at the time). > > > Yes definitely as long as the floppy disk controller supports it. > > -- > > Tactical Nuclear Kittens > > That sounds like good news to me. However I would like to be sure I > understand you correctly (as I am going to have to write a chunk of > software. The good news is I control the r/w to the FDC 100% in the > BIOS. > > So is it correct that if I read/write sectors to a 1.44M floppy (after > returning the Disk paramaters, sec/track, cylinders, etc.,Int 13, > AH=8) that DOS 2.1 will respond correctly even though 1.44 Disks were > not widely used at that time. (only 1.2M 5" drives). > > Likewise along exactly the same lines, I control 100% the HDISK > controller. Can I get way for the IBM "Standard Drive types" -- > obviously staying within the limits of a FAT12. Been thinking some more. How Does/would V2.01 DOS know how many directory entries (or the size of the FAT table) if it has never seen a 1.44M floppy disk
[toc] | [prev] | [next] | [standalone]
| From | Ross Ridge <rridge@csclub.uwaterloo.ca> |
|---|---|
| Date | 2011-08-12 23:40 -0400 |
| Message-ID | <j24rni$om5$1@rumours.uwaterloo.ca> |
| In reply to | #132 |
monahanz <monahan@vitasoft.org> wrote: >Been thinking some more. How Does/would V2.01 DOS know how many >directory entries (or the size of the FAT table) if it has never seen >a 1.44M floppy disk The BIOS Parameter Block at the start of the disk should give it necessary information. Ross Ridge -- l/ // Ross Ridge -- The Great HTMU [oo][oo] rridge@csclub.uwaterloo.ca -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ db //
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-13 09:46 -0700 |
| Message-ID | <f426252c-e40f-4fad-98f2-cef8340416b1@d8g2000prf.googlegroups.com> |
| In reply to | #133 |
On Aug 12, 8:40 pm, Ross Ridge <rri...@csclub.uwaterloo.ca> wrote: > monahanz <mona...@vitasoft.org> wrote: > >Been thinking some more. How Does/would V2.01 DOS know how many > >directory entries (or the size of the FAT table) if it has never seen > >a 1.44M floppy disk > > The BIOS Parameter Block at the start of the disk should give it necessary > information. > > Ross Ridge > > -- > l/ // Ross Ridge -- The Great HTMU > [oo][oo] rri...@csclub.uwaterloo.ca > -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/ > db // Thanks I will start programming though I am suspecious since the BIOS PB returns a value in BL (1-4) corresponding to the disk type. Presumably DOS 2.1 never heard of a type 4. Also I was under the impression that the Disk Parameter Block was internal in the BIOS and used only by the FDC chip. Am I wrong. John
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-13 16:04 -0700 |
| Message-ID | <5c977c37-205b-4939-811e-bbc35b21879e@c8g2000prn.googlegroups.com> |
| In reply to | #134 |
On Aug 13, 9:46 am, monahanz <mona...@vitasoft.org> wrote:
> On Aug 12, 8:40 pm, Ross Ridge <rri...@csclub.uwaterloo.ca> wrote:
>
> > monahanz <mona...@vitasoft.org> wrote:
> > >Been thinking some more. How Does/would V2.01 DOS know how many
> > >directory entries (or the size of the FAT table) if it has never seen
> > >a 1.44M floppy disk
>
> > The BIOS Parameter Block at the start of the disk should give it necessary
> > information.
>
> > Ross Ridge
>
> > --
> > l/ // Ross Ridge -- The Great HTMU
> > [oo][oo] rri...@csclub.uwaterloo.ca
> > -()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
> > db //
>
> Thanks I will start programming though I am suspecious since the BIOS
> PB returns a value in BL (1-4) corresponding to the disk type.
> Presumably DOS 2.1 never heard of a type 4. Also I was under the
> impression that the Disk Parameter Block was internal in the BIOS and
> used only by the FDC chip. Am I wrong.
>
> John
Well FWIW, my suspicions were correct. When I installed the R/W FDC
functions for a 1.44M 3” disk on a freshly formatted disk from a PC, I
can write files correctly to the disk. No errors with a /V.
However when I run CHKDSK on B:
I get back “Probably non-DOS Disk”
If I hit CR I then see the capacity of the disk is only ~360K. DOS
V2.1 is assuming it’s a 360K disk.
I’m trying to determine if I am feed it something incorrect.
For INT 13H, AH=8 I returned:-
XOR AX,AX
MOV BH,0 ;Always
MOV BL,04H ;0=Unknown, 1=360K, 2=1.2M, 3=720K, 4=1.44M
MOV CH,4FH ;Max Track 79
MOV CL,18 ;Max sector
MOV DH,1 ;Max heads
MOV DL,2 ;Number of floppy disks!
LES DI,DWORD PTR FDISK_3PARM_TBL ;Return with drive paramater table
mov byte ptr IBM_DISK_STATUS,0 ;show OK
RET
FDISK_3PARM_TBL
db 0AFH ;For 3" 1.44M Disks
db 2
db 25 ;Time delay for motor
db 2 ;512 byte sectors
db 12H ;18 sectors per track
db 1BH ;GAP length
db 0FFH ;DTL
db 6CH ;GAP length for format
db 0F6H ;Fill byte for format
db 0FH ;Head settle time
db 8 ;Motor stat time
I use none of the above DP values in my BIOS but do return a pointer
to them for Int 13H (AH=8)
Can anybody give me some suggestions?
John
[toc] | [prev] | [next] | [standalone]
| From | Kalle Olavi Niemitalo <kon@iki.fi> |
|---|---|
| Date | 2011-08-14 12:35 +0300 |
| Message-ID | <87bovs72uv.fsf@Niukka.kon.iki.fi> |
| In reply to | #135 |
monahanz <monahan@vitasoft.org> writes: > LES DI,DWORD PTR FDISK_3PARM_TBL ;Return with drive paramater table That looks wrong. "LES DI, something" reads a pointer from memory to ES:DI... > FDISK_3PARM_TBL > db 0AFH ;For 3" 1.44M Disks > db 2 > db 25 ;Time delay for motor > db 2 ;512 byte sectors ...but the data at FDISK_3PARM_TBL is not a pointer. So I think you'll just get constant ES=0219h and DI=02AFh, which is of course useless to the caller. Better use PUSH+POP+MOV like you do in int13hAH25.
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-14 09:48 -0700 |
| Message-ID | <74091658-0d53-4883-a239-a8187e7da6d8@q12g2000prf.googlegroups.com> |
| In reply to | #138 |
On Aug 14, 2:35 am, Kalle Olavi Niemitalo <k...@iki.fi> wrote: > monahanz <mona...@vitasoft.org> writes: > > LES DI,DWORD PTR FDISK_3PARM_TBL ;Return with drive paramater table > > That looks wrong. "LES DI, something" reads a pointer from > memory to ES:DI... > > > FDISK_3PARM_TBL > > db 0AFH ;For 3" 1.44M Disks > > db 2 > > db 25 ;Time delay for motor > > db 2 ;512 byte sectors > > ...but the data at FDISK_3PARM_TBL is not a pointer. > So I think you'll just get constant ES=0219h and DI=02AFh, > which is of course useless to the caller. > Better use PUSH+POP+MOV like you do in int13hAH25. You were correct Kalle. I changed the code to:- IS_144M_DISK: MOV DI,Offset FDISK_3PARM_TBL ;Return with drive paramater table in ES:DI MOV AX,CS MOV ES,AX ;And segment int ES: XOR AX,AX ;Disk paramaters for 1.44M 3" Drive MOV BH,0 ;Always MOV BL,04H ;0=Unknown, 1=360K, 2=1.2M, 3=720K, 4=1.44M MOV CH,4FH ;Max Track 79 MOV CL,18 ;Max sector MOV DH,1 ;Max heads MOV DL,2 ;Number of floppy disks! mov byte ptr IBM_DISK_STATUS,0 ;show OK retf 2 ;throw flags on return (remember we got here via an INT) and checked it was working OK by loading DEBUG and @100H enetering:- MOV AH,08H MOV DL,1 INT 13H NOP NOP then G=100 108 I examined the registers in particular ES:DI and all is fine. However I still cannot get DOS 2.1 to recognize the B: drive as a 1.44M capacity drive. I wondering if I should "fool" the system into thinking it is a Hard Disk. Would that work. What different needs to be done.
[toc] | [prev] | [next] | [standalone]
| From | "Rod Pemberton" <do_not_have@noavailemail.cmm> |
|---|---|
| Date | 2011-08-14 02:36 -0400 |
| Message-ID | <j27qdl$k8d$1@speranza.aioe.org> |
| In reply to | #126 |
"monahanz" <monahan@vitasoft.org> wrote in message news:8aa88c74-8511-4148-bbe3-2994ff90e17e@t30g2000prm.googlegroups.com... > > I currently have is as far as reading 5" 360K disk. I am about to > try and add an HDisk. I was going to first try and add a 1.4M > 3" floppy. My question is: if I return the correct disk parameters > to Int 13H will DOS V2.1 be able to read the disk (even though > 1.4 disks were not available at the time). > The information I have indicates the listed disks were added with listed version: MS-DOS 1.00 160KB 5.25" SS/SD floppy disks MS-DOS 1.10 320KB 5.25" DS/SD floppy disks MS-DOS 1.25 360KB 5.25" DS/DD floppy disks MS-DOS 3.00 1.2MB 5.25" DS/HD floppy disks MS-DOS 3.20 720KB 3.5" DS/DD floppy disks MS-DOS 3.30 1.44MB 3.5" DS/HD floppy disks HTH, Rod Pemberton
[toc] | [prev] | [next] | [standalone]
| From | monahanz <monahan@vitasoft.org> |
|---|---|
| Date | 2011-08-14 10:04 -0700 |
| Message-ID | <ac8e56ee-e83d-4cb4-be26-39701e4d080d@j37g2000prh.googlegroups.com> |
| In reply to | #136 |
On Aug 13, 11:36 pm, "Rod Pemberton" <do_not_h...@noavailemail.cmm> wrote: > "monahanz" <mona...@vitasoft.org> wrote in message > > news:8aa88c74-8511-4148-bbe3-2994ff90e17e@t30g2000prm.googlegroups.com... > > > > > I currently have is as far as reading 5" 360K disk. I am about to > > try and add an HDisk. I was going to first try and add a 1.4M > > 3" floppy. My question is: if I return the correct disk parameters > > to Int 13H will DOS V2.1 be able to read the disk (even though > > 1.4 disks were not available at the time). > > The information I have indicates the listed disks were added with listed > version: > > MS-DOS 1.00 160KB 5.25" SS/SD floppy disks > MS-DOS 1.10 320KB 5.25" DS/SD floppy disks > MS-DOS 1.25 360KB 5.25" DS/DD floppy disks > MS-DOS 3.00 1.2MB 5.25" DS/HD floppy disks > MS-DOS 3.20 720KB 3.5" DS/DD floppy disks > MS-DOS 3.30 1.44MB 3.5" DS/HD floppy disks > > HTH, > > Rod Pemberton Thanks Rob. Yes I had the same information, but from above some people are telling me if I return the correct DP table I can get 2.0 to work with a 1.44M disk. I would go to a V3.0 however the boot hangs on my hardware. The problem is I am adapting my BIOS for a non PC setup (S100 System). There must be something different in the Int calls in 3.0 that is not in 2.0. I just cannot figure it out - still looking. What I cannot understand is that I have an "unimplemented INT trap" for all the 8086 Ints., yet it picks up nothing. Must be looking for some unusual returned value in the same Ints I implement for V2.0
[toc] | [prev] | [next] | [standalone]
| From | "Rod Pemberton" <do_not_have@noavailemail.cmm> |
|---|---|
| Date | 2011-08-15 03:42 -0400 |
| Message-ID | <j2aima$f57$1@speranza.aioe.org> |
| In reply to | #140 |
"monahanz" <monahan@vitasoft.org> wrote in message news:ac8e56ee-e83d-4cb4-be26-39701e4d080d@j37g2000prh.googlegroups.com... > > I would go to a V3.0 however the boot hangs on my hardware. The > problem is I am adapting my BIOS for a non PC setup (S100 System). > There must be something different in the Int calls in 3.0 that is not > in 2.0. I just cannot figure it out - still looking. What I cannot > understand is that I have an "unimplemented INT trap" for all the 8086 > Ints., yet it picks up nothing. Must be looking for some unusual > returned value in the same Ints I implement for V2.0 > Have you implemented a BIOS interrupt trace? You could print out to the screen which BIOS Int is called, it's AX, and maybe BX. Or, you could use the TF cpu flag to trace the assembly, but that requires a bit more work. For personal use, I've written a few DOS TSRs that trace interrupts. They write to the last line in a narrow column on the right hand side of the screen. I use Int 10h, AH=06h "SCROLL UP WINDOW" to set the text window area and to scroll the output in that column up. If you save the last interrupt, you can compare it and only output new interrupts. I output an asterisk if the interrupt is repeated. I'd think that should work for BIOS also as long as the text screen is setup correctly. Rod Pemberton
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | comp.os.msdos.programmer
csiph-web