aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/addrs.c4
-rw-r--r--src/irc.h17
-rw-r--r--src/main.c2
-rw-r--r--src/nio.c3
-rw-r--r--src/rxtxbuf.h5
5 files changed, 15 insertions, 16 deletions
diff --git a/src/addrs.c b/src/addrs.c
index 6085e2c..c7af1f2 100644
--- a/src/addrs.c
+++ b/src/addrs.c
@@ -9,8 +9,8 @@ u16 *dlist_status_lms = u16p(0xbfee);
u8 *dlist_last_line = u8p(0xbff0);
u8 *edbox_only_dlist = u8p(0x8fb8);
-u8 *rx_buf = u8p(0xa000); /* 512 bytes */
-u8 *tx_buf = u8p(0xa200); /* 512 bytes */
+// u8 *rx_buf = u8p(0xa000); /* 512 bytes */
+// u8 *tx_buf = u8p(0xa200); /* 512 bytes */
/* 1000 bytes (25 40-char lines) apiece. */
u8 *screen_top_addrs[7] = {
diff --git a/src/irc.h b/src/irc.h
index 5e831b9..91ffd00 100644
--- a/src/irc.h
+++ b/src/irc.h
@@ -1,20 +1,15 @@
#define MAX_IRC_MSG_LEN 512
-
-/*
-#define streq(x,y) !strcmp(x,y)
-#define streq_i(x,y) !strcasecmp(x,y)
-*/
+#include "rxtxbuf.h"
/**** main.c */
-extern char *rx_buf;
-extern unsigned short rxbuflen;
+
+extern unsigned int rxbuflen;
+extern unsigned int txbuflen;
+
extern unsigned char err;
extern unsigned char trip;
-extern char hz;
extern char reconnect_timeout;
-
-extern unsigned int txbuflen;
-extern char *tx_buf;
+extern char hz; /* 50 for PAL, 60 for NTSC, natch */
/* clears the transmit buffer. */
void txbuf_init(void);
diff --git a/src/main.c b/src/main.c
index b2189be..c19cff9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -23,7 +23,7 @@ unsigned char err; // error code of last operation.
unsigned char trip = 0; // if trip == 1, fujinet is asking us for attention.
char old_enabled = 0; // were interrupts enabled for old vector
void *old_vprced; // old PROCEED vector, restored on exit.
-unsigned short rxbuflen; // RX buffer length
+unsigned int rxbuflen; // RX buffer length
unsigned int txbuflen; // TX buffer length
char hz; /* 50 for PAL, 60 for NSTC */
char reconnect_timeout = 1;
diff --git a/src/nio.c b/src/nio.c
index b43c561..eaa27b8 100644
--- a/src/nio.c
+++ b/src/nio.c
@@ -10,6 +10,7 @@
#include "nio.h"
#include "sio.h"
#include "config.h"
+#include "rxtxbuf.h"
#define TIMEOUT 0x1f /* approx 30 seconds */
@@ -75,7 +76,6 @@ char nstatus(void) {
char nread_rxbuf(void) {
extern unsigned int rxbuflen;
- extern char *rx_buf;
set_defaults();
OS.dcb.dcomnd = 'R'; // read
OS.dcb.dstats = DREAD;
@@ -88,7 +88,6 @@ char nread_rxbuf(void) {
char nwrite_txbuf(void) {
extern unsigned int txbuflen;
- extern char *tx_buf;
set_defaults();
OS.dcb.dcomnd = 'W'; // write
OS.dcb.dstats = DWRITE;
diff --git a/src/rxtxbuf.h b/src/rxtxbuf.h
new file mode 100644
index 0000000..888092a
--- /dev/null
+++ b/src/rxtxbuf.h
@@ -0,0 +1,5 @@
+typedef char buf512_t[512];
+#define RXBUF_ADDR 0xa000
+#define TXBUF_ADDR 0xa200
+#define rx_buf (*(buf512_t *)RXBUF_ADDR)
+#define tx_buf (*(buf512_t *)TXBUF_ADDR)