flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Boot From CD

Author
Thread Post new topic Reply to topic
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 29 May 2005, 05:24
Hi!
Can you help me?
Do you have some examples about programming CD's on FASM

_________________
---------------------------------------
FeDOS
Post 29 May 2005, 05:24
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1164
Location: Overflow
Matrix 29 May 2005, 09:38
Hy FeDOS,
the easiest way to boot from cd is to simply make a bootable floppy image from a bootable floppy disk and burn a bootable cd for example with nero, or easycd creator.
if you have a cd-rw drive you probably got one with it...
Post 29 May 2005, 09:38
View user's profile Send private message Visit poster's website Reply with quote
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 29 May 2005, 09:56
Matrix wrote:
Hy FeDOS,
the easiest way to boot from cd is to simply make a bootable floppy image from a bootable floppy disk and burn a bootable cd for example with nero, or easycd creator.
if you have a cd-rw drive you probably got one with it...

I'm talking about reading from CD how can I do it?

_________________
---------------------------------------
FeDOS
Post 29 May 2005, 09:56
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 29 May 2005, 13:16
If you go here http://board.flatassembler.net/topic.php?t=2164&start=50
in my code for "CdPod" there is some fasm code for programming atapi (CD).

Note: I was called "ASHLEY4" then.
Post 29 May 2005, 13:16
View user's profile Send private message Reply with quote
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 30 May 2005, 00:01
Thanks
Post 30 May 2005, 00:01
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 30 May 2005, 00:36
Dex4u, do you have an ICQ number?
Post 30 May 2005, 00:36
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 30 May 2005, 14:38
No, But you can downlowed "Dex4u" (my OS's)
In it is my fully working ATAPI driver, writen in fasm, you can get the OS to try here:
http://falconrybells.co.uk
and you can ask any ? here: http://dex.7.forumer.com/
about the code etc

NOTE: There is two parts to the atapi driver part 1 "Ata_Atapi16" which gets the Drive and port and part2 "Ata_Atapi32" that is the driver, part one is run in real mode and part2 is run in pmode.

Hope this helps.


Last edited by Dex4u on 02 Jun 2005, 18:41; edited 1 time in total
Post 30 May 2005, 14:38
View user's profile Send private message Reply with quote
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 01 Jun 2005, 03:18
In your Ata_Atapi16.inc
WriteCommand1:
mov dx,0x6
add dx,word [port]
mov al,byte [drive]
or al,0xef
out dx,al
mov cx,0xffff
mov dx,0x7
add dx,word [port]
I have a question about "or al, 0xef"... I think that it should be 0xaf?
Port 176h: Drive selection port
0Fh - Reserved
10h - Master/ Slave (0/1)
20h - 1
40h - RESERVED (0) ??? But 0xef and 40h=40h!!!
80h - 1
Post 01 Jun 2005, 03:18
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
FeDOS



Joined: 29 May 2005
Posts: 11
FeDOS 01 Jun 2005, 03:34
Sorry, I have one more question:
In Ata_Atapi16.inc
What means Atapi Command 0xA1?
I can't find it in my documentations...
Post 01 Jun 2005, 03:34
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 02 Jun 2005, 01:47
Here is the standard that is the best guide for atapi programming
http://www.t13.org/project/d1410r3-ATA-ATAPI-6.pdf

If you go to index number 127 (page 113), you will see info for "identify device" (ECh), if you look at Device you will see the all fields other than bit 4 are either "na" or "obs" which means they are not used.

Also if you goto index number 149 (page 135) you will see "identify packet device"
(A1h) also if you at device you will see the same as for (ECh).

The first command (ECh) is test for Hdd and the second (A1h) is for cd/dvd.
Post 02 Jun 2005, 01:47
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.