Need help remapping PICs

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.
Kim

Re:Need help remapping PICs

Post by Kim »

I forgot the port ;)

const
   BOCHS_DEBUG_PORT = $e9;
Crazed123

Re:Need help remapping PICs

Post by Crazed123 »

Setting OutByteToPort() to stdcall didn't help at all. And I still don't get interrupt messages when CPU debugging is enabled.

[edit] I figured out how to get messages when interrupts fire. This is the last part:

Code: Select all

00012820490d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012820670d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821084d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821433d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012821613d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822027d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822376d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822556d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012822970d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012823497d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012823677d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824091d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824435d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012824615d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825029d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825373d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825553d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012825967d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826311d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826491d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012826905d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827249d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827429d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012827843d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828187d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828367d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012828781d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829138d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829318d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012829732d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012830087d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012830778d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012831393d[CPU  ] interrupt(): vector = 8, INT = 0, EXT = 1
00012831403d[CPU  ] interrupt(): vector = 28, INT = 1, EXT = 0
00012831950d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012832641d[CPU  ] interrupt(): vector = 16, INT = 1, EXT = 0
00012833425d[CPU  ] interrupt(): vector = 19, INT = 1, EXT = 0
00012870058d[CPU  ] interrupt(): vector = 8, INT = 0, EXT = 1
00012870058d[CPU  ] int_trap_gate286(): INTERRUPT TO SAME PRIVILEGE
Before that is just endless int 16's. Can anyone help me with this, cause it should call the legitimate ISRs in those spots, right?[/edit]
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Need help remapping PICs

Post by Pype.Clicker »

well, the question is now where do you have int 8 generated. Probably the best for you would be to have trace-on from your bootloader.

e.g., using a debugable bochs:
break 0x7c00
c
trace-on
c
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re:Need help remapping PICs

Post by Candy »

Just by the look of it, int16 is int 0x10, so a video bios call. The int8 is the timer interrupt, irq0. You somehow call int 0x1C and 0x13 too, but that's in software.

What part is not normal?
Kim

Re:Need help remapping PICs

Post by Kim »

Or place a halt instruction before you enable interrupts and then enable trace and then continue.
Then you can see what the cpu does after you enable interrupts.

Code: Select all

   bwritestr('KERNEL DEBUG MSG: HLT IS GOING TO BE EXECUTED!');
   asm
      hlt
   end;
   ksti();
Image
Crazed123

Re:Need help remapping PICs

Post by Crazed123 »

Thanks, I've got the interrupts thing pretty much figured out it would seem. Or at least, I'm getting another error that seems to have nothing to do with interrupts.
Post Reply