X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM2%2Fhelpers.c;h=74cb40bdc46ed63eaa4f5464a1299313af87f1e6;hb=71e8027de3a3694e5b763657dcd30e85ed5b85c0;hp=283ca30a37531b355a050157cfa5b261c9fe87f8;hpb=4f35424978e202fff48c2331eee9fd01e3da244f;p=uccvend-snackrom.git diff --git a/ROM2/helpers.c b/ROM2/helpers.c index 283ca30..74cb40b 100644 --- a/ROM2/helpers.c +++ b/ROM2/helpers.c @@ -1,45 +1,21 @@ +#include "display.h" #include "vend.h" -/* some IO addresses require buffering, so we create some generic buffering - * functions here - */ - -/* create port-specific #defines: */ -#define buffered_port(p) \ - u8 addr_##p##_buffer = 0; \ - \ - void __inline__ outb_##p(u8 b) { \ - addr_##p##_buffer = b; \ - outb(p, b); \ - } \ - \ - void __inline__ bset_##p(u8 mask) { \ - bset((addr_t)&addr_##p##_buffer, mask); \ - outb(p, addr_##p##_buffer); \ - } \ - \ - void __inline__ bclr_##p(u8 mask) { \ - bclr((addr_t)&addr_##p##_buffer, mask); \ - outb(p, addr_##p##_buffer); \ - } - -void __inline__ outb(addr_t addr, u8 byte) { - /* FIXME hmmm */ - /* asm? */ -} - -void __inline__ bset(addr_t addr, u8 mask) { - /* FIXME again. asm? */ -} - -void __inline__ bclr(addr_t addr, u8 mask) { - /* FIXME again. asm? */ -} - +#define DELAY_MAGIC 20 /* FIXME: number of loops for ~ 1 millisecond (< 256) */ void delay(u16 ms) { - /* FIXME fill me in */ + u8 i; + for (;ms;ms--) { + for (i=0;i