diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-04-03 18:36:13 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-04-03 18:36:30 -0400 |
| commit | afb4a065b6bee669df249790835c64ea9dc6b331 (patch) | |
| tree | 6ebf6ecfd131fa8f921dcfb28b9796a777a3381c /src | |
| parent | 5afe2a48f8d73dbef22d09266d4e33b0a40b4df1 (diff) | |
| download | fujinet-chat-afb4a065b6bee669df249790835c64ea9dc6b331.tar.gz | |
Use real arrays for tx_buf and rx_buf. 6253 bytes free.
Diffstat (limited to 'src')
| -rw-r--r-- | src/addrs.c | 4 | ||||
| -rw-r--r-- | src/irc.h | 17 | ||||
| -rw-r--r-- | src/main.c | 2 | ||||
| -rw-r--r-- | src/nio.c | 3 | ||||
| -rw-r--r-- | src/rxtxbuf.h | 5 |
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] = { @@ -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); @@ -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; @@ -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) |
