1
0
mirror of git://projects.qi-hardware.com/nn-usb-fpga.git synced 2024-12-13 22:33:09 +02:00
nn-usb-fpga/plasma/lib/no_os.c
2010-04-21 20:01:38 -05:00

55 lines
911 B
C

#include "plasma.h"
#define MemoryRead(A) (*(volatile unsigned int*)(A))
#define MemoryWrite(A,V) *(volatile unsigned int*)(A)=(V)
int putchar(int value)
{
while((MemoryRead(IRQ_STATUS) & IRQ_UART_WRITE_AVAILABLE) == 0)
;
MemoryWrite(UART_WRITE, value);
return 0;
}
int puts(const char *string)
{
while(*string)
{
if(*string == '\n')
putchar('\r');
putchar(*string++);
}
return 0;
}
void print_hex(unsigned long num)
{
long i;
unsigned long j;
for(i = 28; i >= 0; i -= 4)
{
j = (num >> i) & 0xf;
if(j < 10)
putchar('0' + j);
else
putchar('a' - 10 + j);
}
}
void OS_InterruptServiceRoutine(unsigned int status)
{
(void)status;
putchar('I');
}
int kbhit(void)
{
return MemoryRead(IRQ_STATUS) & IRQ_UART_READ_AVAILABLE;
}
int getch(void)
{
while(!kbhit()) ;
return MemoryRead(UART_READ);
}