The huge main FreeDOS web site does not seem to have it also -- at
least the best i could check.
I would really appreciate if somebody could send me a .zip file or
direct me to a valid URL.
I am trying to install FreeDOS on a floppy (No CD) system to get a
S100 System 8086 BIOS going with an
IDE Hard Disk. See:- http://s100computers.com/My%20System%20Index%20Page.htm
John
On Sep 3, 12:41 pm, monahanz <mona...@vitasoft.org> wrote:
>
> I am trying to obtain a copy of odin7bin.zip which no longer seems to
> be available from:-http://www.filewatcher.com/m/odin7bin.zip.773673.0.0.html(or indeed
> many web sites I tried)
Well, for good reason, it's really old! Also, today is the five-year-
anniversary of FreeDOS 1.0. Work is still underway for 1.1.
> The huge main FreeDOS web site does not seem to have it also -- at
> least the best i could check.
Latest FD 1.1 test #3 is available here:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1-test3/
I'm a bit ashamed to admit I haven't tried this test (yet!), but it
has a bootable floppy image also.
> I would really appreciate if somebody could send me a .zip file or
> direct me to a valid URL.
Well, you have two other options of questionable quality. ;-)
1). http://wiki.qemu.org/Download
That has an older download of ODIN. (EDIT: broken, oops, didn't know
he only linked to it, doh!)
EDIT: Actually, this page seems to indicate it was updated recently,
so I guess Jeremy (??) finally fixed it.
http://www.fdos.org/bootdisks/
2). http://sites.google.com/site/rugxulo
My own unofficial, crappy, slightly outdated (2008-9) mini distro
(three floppies, each bootable, #2 is mostly meant for 8086). Not
really recommended except as a rough install or as a general idea of
what to use.
(Heck, most people would just say "Grab all of FreeDOS' 'BASE'
category and install that. I would recommend 'UTIL' also. But YMMV. It
depends on what you need.)
http://www.freedos.org/software/?cat=base
http://www.freedos.org/software/?cat=util
> I am trying to install FreeDOS on a floppy (No CD) system to get a
> S100 System 8086 BIOS going with an
> IDE Hard Disk. See:-http://s100computers.com/My%20System%20Index%20Page.htm
Ah, no CD, okay. If all you need is kernel and shell, that's easy.
It's trying to add everything else that gets complex (lots of little
pieces).
http://sourceforge.net/projects/freedos/files/Kernel/2040/
http://sourceforge.net/projects/freedos/files/FreeCOM/082pl3%20%28use%20xmsswap%20for%20386%2B%20PC%29/
Really appreciate the help Rugxulo. Thanks you save d me a lot of
looking!
I am a complete newbie here. Perhaps you could save me some time...
As I said above I am writing a custom BIOS for my S-100/8086 system
such that all BIOS INT calls respond as MS-DOS expects them to run the
system. I have it up to MS-DOS V4.01 with 5' & 3" floppies. However I
can not get the IN13H calls to work with the IDE Hard disk. (I can do
sector R/W calls with DEBUG etc form floppies), but somehow the BOOT
does not recognize the HDisk. I even put in the PC-AT BIOS cassette
"extensions"!
Anyway, my question is, if I work with the ke204086f16.zip material
will it be able to access a hard disk or do I need other modules/
drivers.
IIRC, IBM BIOS doesn't do hard disks. Rather, on the IBM PC, the BIOS
calls into the ROM that was provided with the hard disk interface. I
think you might need to write a hard disk ROM to go with your custom
BIOS. There's nothing to stop you from combining a hard disk BIOS with
your custom BIOS though as long as it detects the presence of it.
--
Tactical Nuclear Kittens
The original IBM PC BIOS didn't support hard drives, but the IBM PC XT
and later, including current BIOSes, do. Hard drive interface adapters,
then and now, can include their own BIOS extention ROM for when the BIOS
doesn't support the particular interface, but in that case the extention
ROM hooks the existing BIOS INT 13h interface provided by the BIOS.
The BIOS doesn't call out to the ROM, except once during start up to
initialize it.
Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] rri...@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
On Sep 4, 12:43 am, monahanz <mona...@vitasoft.org> wrote:
>
> Anyway, my question is, if I work with the ke204086f16.zip material
> will it be able to access a hard disk or do I need other modules/
> drivers.
Not sure if this is the answer you're looking for. At any rate, I'm no
hardware buff, so any internals question would be better directed to
one of the FreeDOS mailing lists (e.g. freedos-devel, probably).
Anyways, ke204086f16 means kernel 2040 (latest) for 8086 w/ FAT16
support. Honestly, I'm not sure why they still have separate compiles
for FAT16 and FAT32. The latter is "only" 3 kb bigger but supports
everything (FAT12, 16, 32). So all you need is a single KERNEL.SYS
(and command shell and whatever else), and it should work fine ... but
that's assuming your BIOS supports everything (e.g. HDs), as I don't
think FreeDOS circumvents that in any way (unlike, say, Linux).
Thanks guys. Sorry I should have been more specific/accurate. I am
actually writing a kind of hybrid PC/XT/AT BIOS. I include most of the
HDisk INT 13H (DL=80H) calls found on the AT. I even test for extra
ROMS (because I want to add an XVGA compatible board later).
The issue I have is I'm not entirely sure what is the minimum INT 13H,
AH options to access a HDISK. I am actually using CF-Cards with an
IDE Adaptor (See:-
http://s100computers.com/My%20System%20Pages/IDE%20Board/My%20IDE%20Card.htm)
There are also (on the AT) some extended Cassette INT 15H Calls.
(AH=41H,88H,C0H etc.). I am trying to go through these and trying to
return values that will make MS-DOS 4.01 happy.
So far no success. It does seem to recognize the disk however because
it sends the Warning about using SHARE with large media. However when
it boots from the floppy I cannot read the C: drive. The disk seems
locked out the INT 13H call to the hard disk is not even called.
What has me baffled is that MSDOS 4.01 boots on an XT which has few of
these calls (just return the set Carry Flag) yet it does not work for
me.
Interestingly if I initialize the CF-Card with FDISK on a PC/MSDOS
V4.01 I can see the partition on the S100 System. On that system I can
even erase the “partition” and create a new partition. However when I
put this card back into the PC system (to format the disk on the PC),
the Drive name is garbage – indicating that something is not right.
(Yet if I run DEBUG with assembly code to read/write a sector it does
it fine).
Currently I don’t have the S100 BIOS written to format the IDE card
(INT 13H, AH=5 etc.). I am trying to avoid this for now.
Thus my interest in seeing if I can get FreeDOS going on the system.
So just to be sure before I get into this... If I get a 5” floppy
setup with the ke204086f16.zip material, I should be able to access
the HDISK i.e. nothing else is required on the FreeDOS side. I am
using a small custom disk configuration (non-LBA mode) (256
cylinders, 16 heads, 63 sectors – 128MG)
Again thanks for the help greatly appreciated
John
Well I (easily) managed to get FreeDOS going on my system Came up
quickly on a 360K 5" and recognized a 1.44M 3" with absolutely now
problem.
Unfortunately same problem with the hard disk.
Get "Sector not Found" does not even do an INT 13 to IDE Board. No
problem on the 386 PC with the same IDE/CF-card. So it sure looks
like I have something subtle wrong with my BIOS implementation. I
guess I will have to really dig and see what is being sent and
recieved back on both systems.
New Question (Skip the others!), Does anybody have some kind of DOS
transient program I could place in RAM and display BIOS INT register
values going & coming. I could write a transient once MSDOS is loaded
but my problem seems to be in the boot itself. Would somehow have to
hook in once the INT table is setup. I have it on the S100/Custom
BIOS end (Debug to serial terminal). The problem is I don't know what
is going on on the PC end. Obviously I don't have the source for the
AMI BIOS ROM.
On Sep 4, 12:06 pm, monahanz <mona...@vitasoft.org> wrote:
> On Sep 4, 8:53 am, Rugxulo <rugx...@gmail.com> wrote:
> > On Sep 4, 12:43 am, monahanz <mona...@vitasoft.org> wrote:
>
> > > Anyway, my question is, if I work with the ke204086f16.zip material
> > > will it be able to access a hard disk or do I need other modules/
> > > drivers.
>
> > Anyways, ke204086f16 means kernel 2040 (latest) for 8086 w/ FAT16
> > support. Honestly, I'm not sure why they still have separate compiles
> > for FAT16 and FAT32. The latter is "only" 3 kb bigger but supports
> > everything (FAT12, 16, 32). So all you need is a single KERNEL.SYS
> > (and command shell and whatever else), and it should work fine ... but
> > that's assuming your BIOS supports everything (e.g. HDs), as I don't
> > think FreeDOS circumvents that in any way (unlike, say, Linux).
>
> Thanks guys. Sorry I should have been more specific/accurate. I am
> actually writing a kind of hybrid PC/XT/AT BIOS. I include most of the
> HDisk INT 13H (DL=80H) calls found on the AT. I even test for extra
> ROMS (because I want to add an XVGA compatible board later).
>
> The issue I have is I'm not entirely sure what is the minimum INT 13H,
> AH options to access a HDISK. I am actually using CF-Cards with an
> IDE Adaptor (See:-http://s100computers.com/My%20System%20Pages/IDE%20Board/My%20IDE%20C...)
Not sure if this is 100% helpful, but anyways, here's a recent e-mail
from Eric (quoted from another of his years ago) that may help:
========
Ah here we are... FAQ item 277, followup 1:
> From: zee_shan56 yahoo
> Date: Tue Jul 20 13:21:36 2004
> Subject: Will FreeDOS work on a custom embedded system based on 80c188XL ?
>
> Hi !
>
> While working on a final-year project of embedded system, i have
> designed a system with 80c188XL (controller version of 8088)
> processor. Although it uses the same instruction set of the standard
> 8088, there are a few differences in Interrupts. I have written a
> BIOS code that mimics the normal XT BIOS interrupts, with a few
> exceptions / differences. Can i port FreeDOS to work with htis
> project ? There is no floppy or HD interface - only Flash memory
> (256KB) and SRAMs (256KB) - which can be increased to 640K cumulative.
> From: Eric
> Date: Tue Jul 20 18:07:25 2004
> Subject: Sounds good, XT BIOS should be enough
>
> Hi! Nice project. FreeDOS uses:
> - some 0x40[xx] values to get system information,
> I assume.
> - int 0x11 and 0x12 to get more system information
> (those two are trivial to implement)
> - int 0x14 / 0x17 to access COM/LPT ports
> ... but only IF they exist
> - int 0x19 to reboot (IF you care for that)
>
> - int 0x13, at least functions 0,1,2,3,8, to access
> a disk (feel free to simulate one from Flash, read
> MEMDISK source code -> SYSLINUX) to learn more)
> ... and some more functions which you should make
> dummy, so that FreeDOS knows that there are no
> harddisks or lowlevel-format or changeable media...
> - int 0x16, at least functions 0,1,2, for keyboard
> input. Make sure to tell FreeDOS that there is no
> support for more than those functions.
> - int 0x10 for text screen output, most important
> function 0x0e, TTY. Only the boot menu is really
> interested in more fancy stuff like cursor movement.
> - int 0x1a to communicate with the real time clock,
> IF one exists. Make sure to support 0x40[0x6c] timer
> tick count and int 0x1c calls, preferrably also the
> int 0x08 calls, for timing related things.
>
> - int 0x1e DATA should reflect the geometry of your
> simulated floppy
>
> I hope this lists most connections between FreeDOS
> and the BIOS. An 8086/8088 CPU is good enough.
> You will want to avoid programs which access PC BIOS
> or PC hardware directly (common for DOS programs...).
>
> So the NONTRIVIAL things which you need are a simple
> clock function, keyboard, text "display" and "floppy"
> access. The rest should be fairly easy because you
> already told that you do have some kind of XT BIOS.
>
> DOS will use interrupts mostly in 0x20..0x2f range,
> and it is possible that some IRQs in 0x08..0x0f
> range are assumed to exist. CPU exceptions in 0..6
> range can be used, but your CPU is 808x anyway.
> CPU exceptions in 7..0x1f range (386...) are not
> really needed. Some interrupts in 0x30..0xff range
> will be used by DOS programs. DOS uses RAM at
> 0x50:0 ... 0x70:0 .... As you have no XMS/HMA, you
> will not be able to load most of DOS kernel (40k)
> to HMA and most of FreeCOM shell (50-200k) swapping
> to XMS. DOS data (10-20k) and BUFFERS will be in
> low RAM too, but you can use a very small BUFFERS
> value and STACKS=0,0 because you have only a virtual
> disk anyway.
>
> Try using a smaller shell instead of FreeCOM, or
> use the KSSF-swapping FreeCOM variant.
> Check the RomOS homepage for inspiration.
>
> Please keep us updated about your progress,
> e.g. by visiting our IRC channel (see the
> mailing lists page on FreeDOS.org).
>
> Eric
Well I FINALLY got a brake Rugxulo! When I compared Int13H AH=08 (Get
Drive Parameters) on both systems there were differences. Not only
was I returning the appropriate disk values in CX & DX but as for the
floppy equivalent, I was returning ES:DI pointing to the Disk
Parameter Table. The Marc Perkel web site (http://www.ctyme.com/intr/
int.htm) pointed out that ES:DI is only used for floppies!
I was returning the far pointer for BOTH HDisks and Floppies. Seems
that ES:DI should not be changed for HDisks. When I returned with
ED,DI,BX unchanged amazingly I could see the HDisk root directory
correctly. Even with MSDOS V4.01! I still have a problem with the
multiple sector reads so files are not loading correctly but I am
confident that is a bug in my BIOS.
BTW I’m already a FreeDOS convert. It’s way faster than MSDOS and
looking at the stream of INT’s being sent to my serial debugging
terminal, much cleaner.
BTW for anybody that reads this stuff at a later date. I will put up
the BIOS on the S100Computers.com in a few weeks or they can contact
me directly for this work in progress.
Thanks guys really appreciate your time and help.
John
Didn't I post a link in "Running (Free)DOS from ROM" to the BIOS functions
used by Freedos?
It shows which BIOS functions are (were) used to boot FreeDOS. For int 13h:
13h 02h n/a Read Disk Sectors
13h 03h n/a Write Disk Sectors
13h 42h n/a Extended Read Sectors
13h 43h n/a Extended Write Sectors
Bruce Simpson posted the list of BIOS calls and BDA references used by
FreeBSD here:
http://groups.google.com/group/mailing.freebsd.current/msg/240d2d86c5b03be9
There is also a file, called dosints.txt, that has (had) all the implemented
DOS functions for FreeDOS, as cut from RBIL.
http://fd-doc.cvs.sourceforge.net/viewvc/*checkout*/fd-doc/spec/dosints.zip?revision=1.1.1.1
I thought you guys saw it. I posted some links on BIOS calls used by
various OSes in the other thread I mentioned. They are for: FreeBSD, Linux
v2.4, Win2K, and WinXP.
http://groups.google.com/group/alt.os.free-dos/msg/c2b9fb07800651f9
"Google Groups advanced search" is "offline". But, Google cached their own
GGs advanced search page! And, it still works! You gotta love 'em ...
HTH,
Rod Pemberton
Not on old hardware it's not. I tested it on my XT and it took over a
minute to get a directory listing. (PC DOS 7 took about 12 seconds.)