Commit Fix Hopefully.
git-svn-id: https://spexeah.com:8443/svn/Asuro@207 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								bin/kernel.bin
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/kernel.bin
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/irq.ppu
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/irq.ppu
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/isr.ppu
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/isr.ppu
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/isr45.ppu
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/isr45.ppu
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/kernel.ppu
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/kernel.ppu
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								lib/libpsystem.a
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/libpsystem.a
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -28,10 +28,8 @@ begin | |||||||
|     outb($A1, $02); |     outb($A1, $02); | ||||||
|     outb($21, $01); |     outb($21, $01); | ||||||
|     outb($A1, $01); |     outb($A1, $01); | ||||||
|  |  | ||||||
|     outb($21, $00); |     outb($21, $00); | ||||||
|     outb($A1, $00); |     outb($A1, $00); | ||||||
|  |  | ||||||
|     console.writestringln('IRQ: INIT END.'); |     console.writestringln('IRQ: INIT END.'); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ uses | |||||||
|     ISR0,  ISR1,  ISR2,  ISR3,  ISR4,  ISR5,  ISR6,  ISR7,  ISR8, ISR9,  |     ISR0,  ISR1,  ISR2,  ISR3,  ISR4,  ISR5,  ISR6,  ISR7,  ISR8, ISR9,  | ||||||
|     ISR10, ISR11, ISR12, ISR13, ISR14, ISR15, ISR16, ISR17, ISR18,  |     ISR10, ISR11, ISR12, ISR13, ISR14, ISR15, ISR16, ISR17, ISR18,  | ||||||
|     ISR32, ISR33, |     ISR32, ISR33, | ||||||
|     ISR40, ISR45;    |     ISR40, ISR44;    | ||||||
|  |  | ||||||
| procedure init(); | procedure init(); | ||||||
|  |  | ||||||
| @@ -48,7 +48,7 @@ begin | |||||||
|     ISR32.register(); // 55ms Timer |     ISR32.register(); // 55ms Timer | ||||||
|     ISR33.register(); // Keyboard |     ISR33.register(); // Keyboard | ||||||
|     ISR40.register(); // 1024/s Timer |     ISR40.register(); // 1024/s Timer | ||||||
|     ISR45.register(); // Mouse |     ISR44.register(); // Mouse | ||||||
|     console.writestringln('ISR: INIT END.'); |     console.writestringln('ISR: INIT END.'); | ||||||
| end; | end; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,91 +0,0 @@ | |||||||
| { ************************************************ |  | ||||||
|   * Asuro |  | ||||||
|   * Unit: Drivers/ISR45 |  | ||||||
|   * Description: Mouse ISR (IRQ12) |  | ||||||
|   ************************************************ |  | ||||||
|   * Author: K Morris |  | ||||||
|   * Contributors:  |  | ||||||
|   ************************************************ } |  | ||||||
|  |  | ||||||
| unit isr45; |  | ||||||
|  |  | ||||||
| interface |  | ||||||
|  |  | ||||||
| uses |  | ||||||
|     util, |  | ||||||
|     console, |  | ||||||
|     isr_types, |  | ||||||
|     IDT; |  | ||||||
|  |  | ||||||
| procedure register(); |  | ||||||
| procedure hook(hook_method : uint32); |  | ||||||
| procedure unhook(hook_method : uint32); |  | ||||||
|  |  | ||||||
| implementation |  | ||||||
|  |  | ||||||
| var |  | ||||||
|     Hooks : Array[1..MAX_HOOKS] of pp_hook_method; |  | ||||||
|  |  | ||||||
| procedure Main(); interrupt; |  | ||||||
| var |  | ||||||
|     i : integer; |  | ||||||
|      |  | ||||||
| begin |  | ||||||
|     CLI; |  | ||||||
|     console.writestringln('Mouse INT'); |  | ||||||
|     for i:=0 to MAX_HOOKS-1 do begin |  | ||||||
|         if uint32(Hooks[i]) <> 0 then Hooks[i](void($00000000)); |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| procedure register(); |  | ||||||
| var |  | ||||||
|     status : uint8; |  | ||||||
|     bm     : PBitMask; |  | ||||||
|     ak     : uint8; |  | ||||||
|  |  | ||||||
| begin |  | ||||||
|     memset(uint32(@Hooks[0]), 0, sizeof(pp_hook_method)*MAX_HOOKS); |  | ||||||
|     IDT.set_gate(45, uint32(@Main), $08, ISR_RING_0); |  | ||||||
|     outb($64, $20); |  | ||||||
|     status:= inb($64); |  | ||||||
|     ak:= inb($64); |  | ||||||
|     console.writebin8ln(status); |  | ||||||
|     bm:= PBitMask(@status); |  | ||||||
|     bm^.b1:= true; |  | ||||||
|     bm^.b5:= false; |  | ||||||
|     console.writebin8ln(status); |  | ||||||
|     while true do begin end; |  | ||||||
|     outb($64, $60); |  | ||||||
|     ak:= inb($60); |  | ||||||
|     outb($64, status); |  | ||||||
|     ak:= inb($60); |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| procedure hook(hook_method : uint32); |  | ||||||
| var |  | ||||||
|     i : uint32; |  | ||||||
|  |  | ||||||
| begin |  | ||||||
|     for i:=0 to MAX_HOOKS-1 do begin |  | ||||||
|         if uint32(Hooks[i]) = hook_method then exit; |  | ||||||
|     end; |  | ||||||
|     for i:=0 to MAX_HOOKS-1 do begin |  | ||||||
|         if uint32(Hooks[i]) = 0 then begin |  | ||||||
|             Hooks[i]:= pp_hook_method(hook_method); |  | ||||||
|             exit; |  | ||||||
|         end; |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| procedure unhook(hook_method : uint32); |  | ||||||
| var |  | ||||||
|     i : uint32; |  | ||||||
| begin |  | ||||||
|     for i:=0 to MAX_HOOKS-1 do begin |  | ||||||
|         If uint32(Hooks[i]) = hook_method then Hooks[i]:= nil; |  | ||||||
|         exit; |  | ||||||
|     end; |  | ||||||
| end; |  | ||||||
|  |  | ||||||
| end. |  | ||||||
		Reference in New Issue
	
	Block a user
	 kieron
					kieron