X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=ROM2%2Fhelpers.c;h=a35073cf5ca7400a177f08ff1e9127238fcfe7b5;hb=59ddc1de7a960375ef639e2bf7c69229752324ac;hp=283ca30a37531b355a050157cfa5b261c9fe87f8;hpb=4f35424978e202fff48c2331eee9fd01e3da244f;p=uccvend-snackrom.git diff --git a/ROM2/helpers.c b/ROM2/helpers.c index 283ca30..a35073c 100644 --- a/ROM2/helpers.c +++ b/ROM2/helpers.c @@ -1,45 +1,32 @@ +#include "display_basic.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? */ +#define DELAY_MAGIC 20 /* FIXME: number of loops for ~ 1 millisecond (< 256) */ +void delay(u16 ms) { + u8 i; + for (;ms;ms--) { + for (i=0;i