diff --git a/entry/boot.c b/entry/boot.c index f8ed564..a492f0a 100644 --- a/entry/boot.c +++ b/entry/boot.c @@ -1,18 +1,4 @@ -#define beige 0xBE -#define mac99 0x5A - -#define __VRAM__BEIGE 0x80000000 -#define __BIOS__BEIGE 0xFFC00000 - -#define __VRAM__MAC99 0x81000000 -#define __BIOS__MAC99 0XFFF00000 -#define __MOUSE__MAC99 0x8008003C -#define __KEYBOARD__MAC99 0x80080038 -unsigned char IO_TYPE; -unsigned char* p_vram; -unsigned char* p_bios; -unsigned char* p_keyboard; -unsigned char* p_mouse; +#include "boot.h" void get_io_type(void) { if (*(unsigned char*)__VRAM__BEIGE == beige) IO_TYPE = beige; @@ -38,7 +24,10 @@ void main(void) { get_io_type(); init(); - for(;;) memcpy_24bit(0x81000000, p_mouse, 1, 0x100000); + for(;;) + { + memcpy_24bit(0x81000000, p_mouse, 1, 0x100000); + } } @@ -58,7 +47,6 @@ void fillscreen(unsigned char a, unsigned char b, unsigned char c, int n) p_vram++; } } - void memcpy(unsigned char* dest, unsigned char* src, int n) { unsigned char* destination = dest; @@ -69,7 +57,6 @@ void memcpy(unsigned char* dest, unsigned char* src, int n) destination++; source++; } } - void memcpy_24bit(unsigned char* dest, unsigned char* src, int n, int size) { unsigned char* destination = dest; diff --git a/entry/boot.h b/entry/boot.h new file mode 100644 index 0000000..6239096 --- /dev/null +++ b/entry/boot.h @@ -0,0 +1,24 @@ +#define beige 0xBE +#define mac99 0x5A + +#define __VRAM__BEIGE 0x80000000 +#define __BIOS__BEIGE 0xFFC00000 + +#define __VRAM__MAC99 0x81000000 +#define __BIOS__MAC99 0XFFF00000 +#define __MOUSE__MAC99 0x8008003C +#define __KEYBOARD__MAC99 0x80080038 +unsigned char IO_TYPE; +unsigned char* p_vram; +unsigned char* p_bios; +unsigned char* p_keyboard; +unsigned char* p_mouse; + +unsigned char u8_extract_bit(unsigned char n, unsigned char bit); +void get_io_type(void); +void init(void); +void fillscreen(unsigned char a, unsigned char b, unsigned char c, int n); +//void memcpy(unsigned char* dest, unsigned char* src, int n); +//void memcpy_24bit(unsigned char* dest, unsigned char* src, int n, int size); +unsigned char u8_extract_bit(unsigned char n, unsigned char bit); +unsigned char u32_extract_bit(unsigned int n, unsigned char bit);