reworkings
[uccvend-snackrom.git] / ROM2 / vend.h
index 4584f5e..7094266 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _VEND_H_
 #define _VEND_H_
 
+#include "ports.h"
+
 /* FIXME: are these typedefs right for m68hc11-gcc? */
 typedef unsigned char    u8;
 typedef signed char      s8;
@@ -11,6 +13,16 @@ typedef signed long      s32;
 typedef u8               bool;
 typedef u16           addr_t;
 
+/* addresses of these set at link time */
+#define buffered_addr_h(a) \
+       extern volatile u8* _##a
+
+buffered_addr_h(switch_input);
+buffered_addr_h(misc_input);
+buffered_addr_h(home_sensors);
+buffered_addr_h(changer_output);
+buffered_addr_h(misc_output);
+
 /******* from display.c *******/
 
 /* scrolling modes */
@@ -20,31 +32,16 @@ typedef u16           addr_t;
 
 extern char current_message[1024];
 
+void display_init();
 void set_msg(char* newmsg);
 void set_wrap_mode(u8 new_wrap_mode);
 void display_refresh();
 
-/******* from helpers.c *******/
-#define buffered_port_h(p) \
-       void outb_##p(u8 b); \
-       void bset_##p(u8 mask); \
-       void bclr_##p(u8 mask);
-
-void outb(u16 port, u8 byte);
-void bset(u16 addr, u8 mask);
-void bclr(u16 addr, u8 mask);
-
-buffered_port_h(3800);
-
 void delay(u16 ms);
 
-/******** Some IO Ports ******/
-#define PORTA             0x1000
+/******** Some meaningful bits ******/
 #define PORTA_DISP_RESET    0x80 /* active low */
 
-#define SPCR              0x1028 /* Serial Peripheral Control Register */
-#define SPCR_SPE            0x40 /* Serial Peripheral System Enable    */
-
 /* Address 3800 bits */
 #define A3800_DISPLAY_WRITE  0x04
 

UCC git Repository :: git.ucc.asn.au