FreeCalypso > hg > freecalypso-reveng
changeset 328:0029db632547
frbl/reconst/serial.c: first static function reconstructed
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 06 Mar 2020 07:08:58 +0000 |
parents | b5b8df53aa51 |
children | 63d3afd14523 |
files | frbl/reconst/Makefile frbl/reconst/serial.c |
diffstat | 2 files changed, 44 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/frbl/reconst/Makefile Fri Mar 06 04:10:21 2020 +0000 +++ b/frbl/reconst/Makefile Fri Mar 06 07:08:58 2020 +0000 @@ -1,7 +1,7 @@ CFLAGS= -mn -mt -mw -me -pw2 CPPFLAGS=-DTOOL_CHOICE=0 -D_TMS470 -I. -Iinc -OBJS= boot.obj command.obj convert.obj -DISASM= boot.disasm command.disasm convert.disasm +OBJS= boot.obj command.obj convert.obj serial.obj +DISASM= boot.disasm command.disasm convert.disasm serial.disasm all: ${OBJS} ${DISASM}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/frbl/reconst/serial.c Fri Mar 06 07:08:58 2020 +0000 @@ -0,0 +1,42 @@ +#include "main/sys_types.h" +#include "serial.h" +#include "convert.h" + +static const SYS_UWORD32 S0_expect[7] = {6, 0, 0, 'H', 'D', 'R', 0x1B}; +static const SYS_UWORD32 S7_expect[6] = {5, 0, 0, 0, 0, 0xFA}; + +static const SYS_UWORD32 uart_base[2] = {0xFFFF5800, 0xFFFF5000}; + +static SYS_UWORD32 bss_0; +static SYS_UWORD8 bss_4; +static SYS_UWORD8 bss_5; +static SYS_UWORD8 bss_6; +static SYS_UWORD8 bss_7; +static SYS_UWORD8 bss_8; +static SYS_UWORD32 bss_0xc; +static SYS_UWORD8 bss_0x10; +static SYS_UWORD16 bss_0x12; + +static SYS_UWORD32 +static_func_0x0(SYS_UWORD8 arg1, SYS_UWORD32 *arg2, SYS_UWORD32 *arg3, + SYS_UWORD16 *arg4) +{ + SYS_UWORD32 retval; + + bss_5 += arg1; + if (bss_6) { + bss_0x12 += arg1; + *arg4 = bss_0x12; + *arg2 = 0; + retval = 0; + } else { + *arg3 += 2; + bss_0x12 = arg1 << 8; + retval = 1; + } + bss_6 = ~bss_6 & 1; + bss_0x10--; + if (bss_0x10 == 0) + bss_0xc = 6; + return retval; +}