Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

irq.h File Reference

Internal LNP Interface: RCX redirected IRQ vectors. More...

Go to the source code of this file.

Defines

#define HANDLER_WRAPPER(wrapstring, handstring)

Functions

void rom_ocia_handler ()
 ROM OCIA interrupt handler.
void rom_ocia_return ()
 return address in ROM OCIA handler
void rom_dummy_handler ()
 address of an RTS instruction
void disable_irqs ()
 disable interrupt processing
void enable_irqs ()
 enable interrupt processing

Variables

void * reset_vector
 reset vector
void * nmi_vector
 NMI interrupt vector.
void * irq0_vector
 IRQ0 interrupt vector.
void * irq1_vector
 IRQ1 interrupt vector.
void * irq2_vector
 IRQ2 interrupt vector.
void * icia_vector
 ICIA interrupt vector.
void * icib_vector
 ICIB interrupt vector.
void * icic_vector
 ICIC interrupt vector.
void * icid_vector
 ICID interrupt vector.
void * ocia_vector
 OCIA interrupt vector.
void * ocib_vector
 OCIB interrupt vector.
void * fovi_vector
 FOVI interrupt vector.
void * cmi0a_vector
 CMI0A interrupt vector.
void * cmi0b_vector
 CMI0B interrupt vector.
void * ovi0_vector
 OVI0 interrupt vector.
void * cmi1a_vector
 CMI1A interrupt vector.
void * cmi1b_vector
 CMI1B interrupt vector.
void * ovi1_vector
 OVI1 interrupt vector.
void * eri_vector
 ERI interrupt vector.
void * rxi_vector
 RXI interrupt vector.
void * txi_vector
 TXI interrupt vector.
void * tei_vector
 TEI interrupt vector.
void * ad_vector
 A/D interrupt vector.
void * wovf_vector
 WOVF interrupt vector.
void * rom_reset_vector
 ROM reset vector.


Detailed Description

Internal LNP Interface: RCX redirected IRQ vectors.

Author:
Markus L. Noga <markus@noga.de>
Lego Mindstorms RCX IRQ redirection vector table All redirected handlers can assume r6 to be saved All redirected handlers must return with rts, *not* rte.

Warning:
Incomplete.

Definition in file irq.h.


Define Documentation

#define HANDLER_WRAPPER wrapstring,
handstring   ) 
 

Value:

__asm__ (".text\n.align 1\n.global _" wrapstring "\n_" wrapstring \
": push r0\npush r1\npush r2\npush r3\njsr @_" handstring \
"\npop r3\npop r2\npop r1\npop r0\nrts\n")

Definition at line 48 of file irq.h.


Function Documentation

void disable_irqs  )  [inline]
 

disable interrupt processing

Definition at line 98 of file irq.h.

References __asm__().

Referenced by rom_reset().

void enable_irqs  )  [inline]
 

enable interrupt processing

Definition at line 103 of file irq.h.

References __asm__().

void rom_dummy_handler  ) 
 

address of an RTS instruction

void rom_ocia_handler  ) 
 

ROM OCIA interrupt handler.

void rom_ocia_return  ) 
 

return address in ROM OCIA handler


Variable Documentation

void* ad_vector
 

A/D interrupt vector.

void* cmi0a_vector
 

CMI0A interrupt vector.

void* cmi0b_vector
 

CMI0B interrupt vector.

void* cmi1a_vector
 

CMI1A interrupt vector.

void* cmi1b_vector
 

CMI1B interrupt vector.

void* eri_vector
 

ERI interrupt vector.

void* fovi_vector
 

FOVI interrupt vector.

void* icia_vector
 

ICIA interrupt vector.

void* icib_vector
 

ICIB interrupt vector.

void* icic_vector
 

ICIC interrupt vector.

void* icid_vector
 

ICID interrupt vector.

void* irq0_vector
 

IRQ0 interrupt vector.

void* irq1_vector
 

IRQ1 interrupt vector.

void* irq2_vector
 

IRQ2 interrupt vector.

void* nmi_vector
 

NMI interrupt vector.

void* ocia_vector
 

OCIA interrupt vector.

void* ocib_vector
 

OCIB interrupt vector.

void* ovi0_vector
 

OVI0 interrupt vector.

void* ovi1_vector
 

OVI1 interrupt vector.

void* reset_vector
 

reset vector

Referenced by kmain().

void* rom_reset_vector
 

ROM reset vector.

void* rxi_vector
 

RXI interrupt vector.

void* tei_vector
 

TEI interrupt vector.

void* txi_vector
 

TXI interrupt vector.

void* wovf_vector
 

WOVF interrupt vector.


Generated on Fri Feb 25 08:02:42 2005 for brickos by  doxygen 1.3.9.1