timer(IRQ 0)

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
jrfritz

Re:timer(IRQ 0)

Post by jrfritz »

How can you load 0x10000 if the last 0 is over the size of bx can hold?
hanoi

Re:timer(IRQ 0)

Post by hanoi »

es = 0x1000
bx = 0x0000
real mode to physical address:
segment * 0x10 + offset
hanoi

Re:timer(IRQ 0)

Post by hanoi »

Could you please help me?
It's really annoying not to be able to write more when some stupid things do not work.
thanks
jrfritz

Re:timer(IRQ 0)

Post by jrfritz »

Try making a 2nd stage loader and make a IRQ0 stub in a NASM 2nd stage loader...

C still adds stuff even in your asm(...) function....right?
hanoi

Re:timer(IRQ 0)

Post by hanoi »

I've tested it with an external asm file.
This didn't work.

afaik gcc doesn't add something to asm functions added with asm()
Slasher

Re:timer(IRQ 0)

Post by Slasher »

hi,
your frquency is too high!!!
its suppose to be 0x1234DD = 1193181 NOT 1193182 = 1234de!
hanoi

Re:timer(IRQ 0)

Post by hanoi »

i changed that.
it still doesn't work :(
Slasher

Re:timer(IRQ 0)

Post by Slasher »

then its 2 things
either the pic reprogramming is not correct
or the set timer frequency function is not correct
paste the code (put them all in a file and attach it) that involves the pic reprogramming,set timer and idt setup codes. thats how we can help
hanoi

Re:timer(IRQ 0)

Post by hanoi »

:DDDDD
It works now.
I am _really_ stupid.
I thought i had to send 0 to port 0x20 to allow interrupts from all IRQs.
It was 0x21 :/
sorry that i have wasted a thread.
thanks for supprt/help.
Post Reply