+#include "display_basic.h"
#include "vend.h"
-#define DELAY_MAGIC 20 /* FIXME: number of loops required for ~ 1 millisecond */
+#define DELAY_MAGIC 20 /* FIXME: number of loops for ~ 1 millisecond (< 256) */
void delay(u16 ms) {
- int i;
+ u8 i;
for (;ms;ms--) {
for (i=0;i<DELAY_MAGIC; i++)
asm("nop\nnop\nnop\nnop\nnop\n");
}
}
+void print_amount(u16 amt) {
+ /* take amt and show it on screen with a $ sign */
+ char str[10] = {' ', '$', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '};
+ u8 pos;
+ for (pos = 7; amt; pos--, amt/=10) {
+ str[pos] = amt%10 + '0';
+ }
+ set_msg(str);
+}
+
+void my_strncpy(char* dst, char* src, u8 max_size) {
+ u8 i;
+ for (i = 0; src[i] && i < max_size; i++) dst[i] = src[i];
+ if (src[i] == 0 && i < max_size) dst[i] = 0; /* null terminator */
+}
+
+void my_memcpy(char* dst, char* src, u8 size) {
+ u8 i = 0;
+ for (i = 0; i < size; i++) dst[i] = src[i];
+}