* Re: Hardware Interrupts
[not found] <20040224021013.DE8C84C40D0@lovelace.ada-france.org>
@ 2004-02-24 11:04 ` Carroll-Tech
2004-02-24 12:58 ` Preben Randhol
0 siblings, 1 reply; 4+ messages in thread
From: Carroll-Tech @ 2004-02-24 11:04 UTC (permalink / raw)
To: comp.lang.ada
> ----------------------------------------------------------------------
> From: Jerry van Dijk <somename@nospam.demon.nl>
> Subject: Re: Hardware Interrupts
>
> Note this thread escaped me so I might be wrong, but I am guessing you
want
> bootcode for a PC ?
I appologize, I haven't been to clear on what I'm trying to accomplish. I
am
building my own "super computer". Ok, well, it's really an experiment to
satisfy my own interests. Super computer might be a large leap!
However realistic it is I don't really care. I'm learning things and at
this time
I feel I'm enjoying what I'm doing. I'm going bankrupt anyway so I might
as well go bankrupt doing something I feel satisfied with.
I've connected two computers together via the IDE ports (altered the ribbon
cable for such purposes). Now I know that Windows, nor *nix will provide
me with "drivers" for how I connected them nor a kernel to do what I want to
do with the connection. I don't want to sort through "public" code, like
FreeBSD
C code, just to print "hello world" or something.
Initially my goal is simple. Execute code on computer A that displays on
computer B's monitor through the IDE connection. Let's say "hello world".
That's where hardware interrupts and "chaining" my own interrupt routines
comes into play. I think, to start, I just want to know what hardware
interrupts are showing up and then I can "chain" my own routines on them
(through the Interrupt vector table) and can eventually achive some kind
of communication between the two computers via the IDE connection.
Call it a driver, call it a kernel, call it balogne, whatever...I just know
that
I've seen examples of using Ada for "chaining" interrupts and I know I
can get the interrupts from the vector table So to get a feel for what I
am doing I wanted to "practice" working with interrupts from the interrupt
vector table by getting a list of attached hardware from the BIOS. That was
the arbitrary INT call that I picked out from the references I have. I know
it has a list because it prints it out when it boots up and several authors
have placed information in their written work describing an INT instruction
that yields that information.
I don't "have" to get the hardware list. I could go with something else
like
detecting if their is a printer installed or something. I just want to get
familiar
with the interrupt "stuff" and the hardware list was my initial choice.
>------------------------------
> From: tmoran@acm.org
> Subject: Re: Hardware Interrupts
>
> And the way you "define what machine code is supposed to be generated"
> is by describing it using Machine-Code Insertions.
>
> A generally better way is to define a general BIOS call procedure, eg
> Procedure Int_Call(Int_Num : Integer; Regs : In Out Most_Regs);
> -- Call the interrupt (for BIOS use, others?) with the registers
set
> -- from Regs. The result registers and flags are placed back into
Regs.
> (Taken from Janus Ada 83 "package DosCall") and then define
> function Get_BIOS_Equipment_List return ... is
> Regs : Most_Regs := (AX=>..., BX=>..., ...
> begin
> Int_Call(16#11#, Regs);
> return ...
> end Get_BIOS_Equipment_List;
> But note that you need an Ada compiler that generates code for your
> machine/OS combination - in this case 16 bit "real mode" x86 with your
> boot loader (no DOS) as the OS.
Ahhhhhh, GREAT information!!!
> ------------------------------
> From: sk <noname@myob.com>
> Subject: Re: Hardware Interrupts
>
> it (by the way "Jerry van Dijk" authored an inline
> assembler tutorial for GNAT which is now part of
> the manual.
Is it in the gnat_ug.html? Where?
> Some thoughts for you:
[snip]
> parameters to procedures etc at the assembly level.
> The study should give you some ideas on how to create
> assembly routines which you can "pragma Import (ASM, ...)"
I'll have to play around with that. Thank you!
> ------------------------------
> From: "Brian Catlin" <BrianC@sannas.org.bad>
> Subject: Re: Hardware Interrupts
>
> I really think that you would be better off forgetting the BIOS and do
> everything yourself. This may sound like a bold statement (and a lot of
work),
[snip]
> Get the ACPI specs
> (www.acpi.info) and write your own code to parse the ACPI tables (which
contains
> the hardware configuration of the machine), and write your own "drivers"
for the
> various common PC motherboard hardware (VGA, keyboard, mouse, USB, serial,
PCI,
> etc.).
Cool!! I'm going to look into this also. Thank you!!
Thanks for the help all!!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Hardware Interrupts
2004-02-24 11:04 ` Hardware Interrupts Carroll-Tech
@ 2004-02-24 12:58 ` Preben Randhol
2004-02-24 13:03 ` GNAT Inline Assembly Tutorial missing ( Re: Hardware Interrupts) Preben Randhol
0 siblings, 1 reply; 4+ messages in thread
From: Preben Randhol @ 2004-02-24 12:58 UTC (permalink / raw)
On 2004-02-24, Carroll-Tech <andrew@carroll-tech.net> wrote:
>> From: sk <noname@myob.com>
>> Subject: Re: Hardware Interrupts
>>
>> it (by the way "Jerry van Dijk" authored an inline
>> assembler tutorial for GNAT which is now part of
>> the manual.
>
> Is it in the gnat_ug.html? Where?
http://www.adapower.com/articles/gnatasm/inline_asm_toc.html
Perhaps this is also of interest: ?
http://www.beesknees.freeserve.co.uk/articles/gnat.html
--
"Saving keystrokes is the job of the text editor, not the programming
language."
^ permalink raw reply [flat|nested] 4+ messages in thread
* GNAT Inline Assembly Tutorial missing ( Re: Hardware Interrupts)
2004-02-24 12:58 ` Preben Randhol
@ 2004-02-24 13:03 ` Preben Randhol
[not found] ` <m28yisxibp.fsf@jvdsys.demon.nl>
0 siblings, 1 reply; 4+ messages in thread
From: Preben Randhol @ 2004-02-24 13:03 UTC (permalink / raw)
On 2004-02-24, Preben Randhol <randhol+valid_for_reply_from_news@pvv.org> wrote:
> http://www.adapower.com/articles/gnatasm/inline_asm_toc.html
After looking at this link it seems that the tutorial is missing.
If somebody has a copy or if Jerry reads this, perhaps we could get a
working copy at adaworld (unless Adapower can be updated).
--
"Saving keystrokes is the job of the text editor, not the programming
language."
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GNAT Inline Assembly Tutorial missing ( Re: Hardware Interrupts)
[not found] ` <m28yisxibp.fsf@jvdsys.demon.nl>
@ 2004-02-25 7:57 ` Preben Randhol
0 siblings, 0 replies; 4+ messages in thread
From: Preben Randhol @ 2004-02-25 7:57 UTC (permalink / raw)
On 2004-02-24, Jerry van Dijk <somename@nospam.demon.nl> wrote:
>
> Preben Randhol writes:
>
>> If somebody has a copy or if Jerry reads this, perhaps we could get a
>> working copy at adaworld (unless Adapower can be updated).
>
> Yep, I am still reading CLA although I do not always have time to respond.
> If someone needs the source for the tutorial, just ask.
>
I would like a copy if possible. You can use the address above if you
reply.
--
"Saving keystrokes is the job of the text editor, not the programming
language."
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-02-25 7:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20040224021013.DE8C84C40D0@lovelace.ada-france.org>
2004-02-24 11:04 ` Hardware Interrupts Carroll-Tech
2004-02-24 12:58 ` Preben Randhol
2004-02-24 13:03 ` GNAT Inline Assembly Tutorial missing ( Re: Hardware Interrupts) Preben Randhol
[not found] ` <m28yisxibp.fsf@jvdsys.demon.nl>
2004-02-25 7:57 ` Preben Randhol
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox