Serial port debug output
This commit is contained in:
parent
eeb1e86cba
commit
56fac17626
32
serial.c
Executable file
32
serial.c
Executable file
|
@ -0,0 +1,32 @@
|
|||
#include <dos.h>
|
||||
#include "serial.h"
|
||||
|
||||
int comport = 0;
|
||||
|
||||
#define SER_LATCH_LO 0
|
||||
#define SER_LATCH_HI 1
|
||||
#define SER_TX 0
|
||||
#define SER_LCR 3
|
||||
#define SER_LSR 5
|
||||
|
||||
void ser_init(int port, int baudrate, int protocol) {
|
||||
int far *comport_addr = MK_FP(0x0040, 0x0000);
|
||||
int lcr;
|
||||
comport = comport_addr[port];
|
||||
|
||||
outp(comport + SER_LCR, 0x80);
|
||||
outp(comport + SER_LATCH_HI, baudrate >> 8);
|
||||
outp(comport + SER_LATCH_LO, baudrate & 0xff);
|
||||
outp(comport + SER_LCR, protocol);
|
||||
}
|
||||
|
||||
void ser_write_byte(char byte) {
|
||||
while (!(inp(comport + SER_LSR) & 0x20)) {}
|
||||
outp(comport + SER_TX, byte);
|
||||
}
|
||||
|
||||
void ser_write(char *str) {
|
||||
for (; *str; str ++) {
|
||||
ser_write_byte(*str);
|
||||
}
|
||||
}
|
24
serial.h
Executable file
24
serial.h
Executable file
|
@ -0,0 +1,24 @@
|
|||
#define SER_COM1 0
|
||||
#define SER_COM2 1
|
||||
#define SER_COM3 2
|
||||
#define SER_COM4 3
|
||||
|
||||
#define SER_8N1 0x03
|
||||
|
||||
#define BAUD_50 0x0900
|
||||
#define BAUD_110 0x0417
|
||||
#define BAUD_220 0x020c
|
||||
#define BAUD_300 0x0180
|
||||
#define BAUD_600 0x00c0
|
||||
#define BAUD_1200 0x0060
|
||||
#define BAUD_2400 0x0030
|
||||
#define BAUD_4800 0x0018
|
||||
#define BAUD_9600 0x000c
|
||||
#define BAUD_19200 0x0006
|
||||
#define BAUD_38400 0x0003
|
||||
#define BAUD_57600 0x0002
|
||||
#define BAUD_115200 0x0001
|
||||
|
||||
void ser_init(int port, int baudrate, int protocol);
|
||||
void ser_write_byte(char byte);
|
||||
void ser_write(char *str);
|
37
testbed.c
37
testbed.c
|
@ -7,6 +7,7 @@
|
|||
#include "mouse.h"
|
||||
#include "tiff.h"
|
||||
#include "tiles.h"
|
||||
#include "serial.h"
|
||||
|
||||
/*** S C R A T C H ***/
|
||||
|
||||
|
@ -117,19 +118,12 @@ void game_init() {
|
|||
scroll(0, 0);
|
||||
}
|
||||
|
||||
int main() {
|
||||
game_init();
|
||||
|
||||
while (!keyIsDown(K_ESC)) {
|
||||
kbd_debounce();
|
||||
if (game.state == STATE_MAP) {
|
||||
if (keyWasPressed(K_SPACE)) {
|
||||
void showDialog() {
|
||||
game.state = STATE_DIALOG;
|
||||
game.footer.dy = 1;
|
||||
}
|
||||
playerThink(&game.player);
|
||||
scroll(game.player.x - 152, game.player.y - 92);
|
||||
} else if (game.state == STATE_DIALOG) {
|
||||
}
|
||||
|
||||
void dialogThink() {
|
||||
if (keyWasPressed(K_SPACE)) {
|
||||
game.footer.dy = -1;
|
||||
}
|
||||
|
@ -143,6 +137,27 @@ int main() {
|
|||
game.state = STATE_MAP;
|
||||
}
|
||||
setSplitScreen(399 - (game.footer.y << 1));
|
||||
}
|
||||
|
||||
void overworldThink() {
|
||||
if (keyWasPressed(K_SPACE)) {
|
||||
showDialog();
|
||||
}
|
||||
playerThink(&game.player);
|
||||
scroll(game.player.x - 152, game.player.y - 92);
|
||||
}
|
||||
|
||||
int main() {
|
||||
game_init();
|
||||
ser_init(SER_COM2, BAUD_19200, SER_8N1);
|
||||
ser_write("JORTS QUEST DEBUG OUTPUT\r\n");
|
||||
|
||||
while (!keyIsDown(K_ESC)) {
|
||||
kbd_debounce();
|
||||
if (game.state == STATE_MAP) {
|
||||
overworldThink();
|
||||
} else if (game.state == STATE_DIALOG) {
|
||||
dialogThink();
|
||||
}
|
||||
drawEntity(&game.player);
|
||||
drawScreen();
|
||||
|
|
BIN
testbed.exe
BIN
testbed.exe
Binary file not shown.
Loading…
Reference in a new issue