Page 1 of 1
Help:Can I do my kernel in Pascal?
Posted: Wed Aug 01, 2001 10:46 pm
by Peter X
Can I do my kernel in Pascal?And How?
Re: Help:Can I do my kernel in Pascal?
Posted: Thu Aug 02, 2001 2:51 am
by df
you can, if you can get pascal to remove its dependancise on its base libraries. i assume you can use your own base libraries, so then you can use pascal to develop your os.
Re:Help:Can I do my kernel in Pascal?
Posted: Mon Apr 29, 2002 7:37 am
by drasir
Please help me out...
What dependencies du you mean?
I actually HAVE my own Pascal Kernel and well it works...
Re:Help:Can I do my kernel in Pascal?
Posted: Mon Apr 29, 2002 11:52 am
by ASHLEY4
I'v just started making my RM OS in turbo Pascal,the boot loader loads a exe or com has a kernel,
You can not use dos interrupts,Only bios interrupts,
Some procedures in pascal use dos interrupts,you after change to use bios interrupts
For example by making new libraries you can make a 96 byte tp exe,
If we are all useing turbo pascal we could all use the same libraries, as i know a bit about assembly.
my kernel just prints to screen ,clrscr,and next line,thats all it does at the moment,next is how much memory you have.
My problem is in implementing DOS interrupts .
\\\///
(@@)
ASHLEY4.
Re:Help:Can I do my kernel in Pascal?
Posted: Thu May 02, 2002 10:24 am
by drasir
Ashley: You say your problem is to implement DOS Vectors/Functions in your OS? How do I have to take this? Problems in writing the functions - like how do I parse the DOS Version Number, or problems by implementing the interrupts itself IN the kernel like - I have the functions but how do I make them accesible to user programs?
For I am developing also an DOS "Clone" on my own with Pascal I am really interrested.
Re:Help:Can I do my kernel in Pascal?
Posted: Thu May 02, 2002 12:27 pm
by ASHLEY4
drasir: My problem is that i can put the segment and offset address for say int 21h in the interrupt vector table,write a procedure to compare "AH" to get the function number,jump to the function ,and run through it and return with iret.
But when i write this in turbo pascal,TP add's suff to this code and some of it may have dos interrupts i have not put in yet
I have got the unconpiled RTL and most have DOS suff in them.
I can write all the above code in asm noproblem.
But when i write it in pascal it ends up looking like a assembly prog with "begin" and "end" on it and that is not pascal its assembly.
I need to know what stage your up to????.
and what problems you have got.
It would be so easy if we could use "getintvec" "setintvec" BUT WE CAN NOT.
\\\///
(@@)
ASHLEY4.
Re:Help:Can I do my kernel in Pascal?
Posted: Fri May 03, 2002 7:01 am
by drasir
Well, I thought it would be like that and... I think I can help you... ;D
I got a procedure that replaces GET/SETINTVEC so you can use them instead of the system functions.
Well, for my progress... I'm having my troubles with these DOS Vectors to, but only because i don'T know how they work.
The only one that works is the One that returns the Version number of DOS. I also implemented that in my Kernel - so I know this way to implement the vectors works
I would be VERY grateful if you could me help out with the vectors. maybe we could kinda like cooperate on this - exchange code and so on!
Gimme reply!
Re:Help:Can I do my kernel in Pascal?
Posted: Fri May 03, 2002 8:42 am
by ASHLEY4.
drasir: The idea about shareing code sounds good
.
When you say that the dos version interrupt works,you have to be carefull that your program is not making a local jump
.
Like a procedure.
For each dos interrupt you write a set of code that has the out come of the dos int,it's like a procedure in pascal, but in assembly.
You after get the code right for each dos int,just because one works ok,does not meen,that they all will.
Get one to work then move on to the next,and so on.
I will try to put some dos interrupts in my pascal kernel and let you know how i get along :-\.
What do you think about starting a yarhoo group for people making pascal os ;D.
\\\///
(@@)
ASHLEY4.
Re:Help:Can I do my kernel in Pascal?
Posted: Fri May 03, 2002 11:14 am
by drasir
Well, I am certanly sure my program does not make an near jump. My DOS Replacement Function looks like this:
Procedure DRReplace(Flags,cs,ex...etc.); interrupt;
Begin
if ax=$48 then begin {I think thats the Version one...}
asm
{little asm to push Version to AX (lo/hi)}
end;
end;
Begin
setintvec($21,@drReplace); {My own Set procedure ;D}
end.
This is just an example but it works like this. To read the Version out of my program I use a Pascal function I think, if i remeber right... DOSVersion;
And this Pascal function, i am sure, does not know my procedure and so uses an interrupt - and it works...
I also have some other interrupt procedures that for example pass messages and I can all call them by intr(no,regs); This is a function from the DOS unit but not dependent on DOS ;D
Well to the yahoo group - sounds like a great idea - i don't know how to subscribe to such a group, but we could try!
Do you have ICQ? This would make it much easier to communicate - I also think i missed your email adress - could you again give it to me?
Re:Help:Can I do my kernel in Pascal?
Posted: Fri May 03, 2002 1:16 pm
by ASHLEY4.
drasir: click the email simble on my posting
\\\///
(@@)
ASHLEY4.
Re:Help:Can I do my kernel in Pascal?
Posted: Sat May 04, 2002 11:04 am
by drasir
Ashley: Well, I should have guessed ;D