From 35a6c255bde7274cf1ccd7e4fedc6216cbe25816 Mon Sep 17 00:00:00 2001 From: larrystockman Date: Sun, 22 Sep 2019 22:58:40 -0500 Subject: [PATCH] Added Mike Ehlert's fossil.asm fixes for faster screen by replacing INT14h calls to the fossil with a simple flag push followed by calling the fossil address directly --- FOSSIL.ASM | 107 ++++++----- FOSSIL.OBJ | Bin 809 -> 784 bytes PROBOARD.EXE | Bin 464832 -> 464800 bytes PROBOARD.MAP | 496 +++++++++++++++++++++++++-------------------------- 4 files changed, 313 insertions(+), 290 deletions(-) diff --git a/FOSSIL.ASM b/FOSSIL.ASM index e8f8d33..cc0d149 100644 --- a/FOSSIL.ASM +++ b/FOSSIL.ASM @@ -16,39 +16,55 @@ PUBLIC _fos_break PUBLIC _fos_sendblock PUBLIC _fos_readblock + ;DATASEG + ; fos_addr DW 0 + ; fos_seg DW 0 + ; ENDS + CODESEG nofossil_err DB 'FOSSIL driver not installed!',13,10,'$' EVEN + fos_addr DW 0 + fos_seg DW 0 + + PROC _fos_setbps arg port:WORD,baud:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov ah,0 mov al,[baud] mov dx,[port] int 14h - pop bp + ;pop bp ret ENDP _fos_setbps PROC _fos_status arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,3 int 14h - pop bp +;call [dword ptr cs:fos_addr] + +;call far [cs:fos_addr] +;call cs:fos_addr +;db 09Ah +;fos_addr DW 0 +;fos_seg DW 0 + ;pop bp ret ENDP _fos_status PROC _fos_init arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,4 int 14h @@ -61,96 +77,103 @@ PROC _fos_init int 21h mov ax,4cffh int 21h -foss_ok: pop bp +foss_ok: +; PCM update to improve FOSSIL performance + mov ax, 3514h ;Save the fos_addr vector + int 21h + mov [cs:fos_addr],bx + mov [cs:fos_seg],es +;end PCM update + ;pop bp ret ENDP _fos_init PROC _fos_deinit arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,5 int 14h - pop bp + ;pop bp ret ENDP _fos_deinit PROC _fos_setdtr arg port:WORD,state:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov al,[state] mov ah,6 int 14h - pop bp + ;pop bp ret ENDP _fos_setdtr PROC _fos_purgeoutput arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,9 int 14h - pop bp + ;pop bp ret ENDP _fos_purgeoutput PROC _fos_purgeinput arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,0Ah int 14h - pop bp + ;pop bp ret ENDP _fos_purgeinput -PROC _fos_sendnw +PROC _fos_sendnw ; send character no (wait) arg port:WORD,char:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov al,[char] mov ah,0Bh int 14h - pop bp + ;pop bp ret ENDP _fos_sendnw PROC _fos_send arg port:WORD,char:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov al,[char] mov ah,1 int 14h - pop bp + ;pop bp ret ENDP _fos_send PROC _fos_flowctl arg port:WORD,ctl:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov al,[ctl] mov ah,0Fh int 14h - pop bp + ;pop bp ret ENDP _fos_flowctl -PROC _fos_getchnw +PROC _fos_getchnw ; peek at input? arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ax,0c00h int 14h @@ -160,19 +183,19 @@ PROC _fos_getchnw mov ax,200h int 14h xor ah,ah -@@exit: pop bp +@@exit: ;pop bp ret ENDP _fos_getchnw -PROC _fos_getch +PROC _fos_getch ; get char with wait arg port:WORD - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ax,200h int 14h xor ah,ah - pop bp + ;pop bp ret ENDP _fos_getch @@ -220,8 +243,8 @@ ENDP _fos_readblock PROC _fos_break arg port:WORD, mode:BYTE - push bp - mov bp,sp + ;push bp + ;mov bp,sp mov dx,[port] mov ah,1ah cmp [mode],0 @@ -230,7 +253,7 @@ PROC _fos_break jmp @@exit @@stop: xor al,al @@exit: int 14h - pop bp + ;pop bp ret ENDP _fos_break diff --git a/FOSSIL.OBJ b/FOSSIL.OBJ index de7351a0241eff06e0e7a2fa56b424402fbd4af1..361e257ad8ba7d7f4a734cfef2ce93108079faf2 100644 GIT binary patch delta 511 zcmZ3msw)Yz>qpY2q?r27D`D42_`ZyoCcCxn4vVwSrOY1$r3(3 z`CULYoM#nx{PzJ8BBo~*^*ZGg81#DBlo-G|SRp!qrfh*3!U;8m3n9ggU^2p(8XQ~r zA?zItJV5*Y|1aSJx?u+c(^(OtCm_S2%*i*IG_^sllWM5rU?^eT!1$VZg3$q>UZy#` W3`g8T7>`5(aa;%^e-{%2LkR%%1f`|` delta 515 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 delta 33573 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 WD!+yRxNis;eFz#EORi diff --git a/PROBOARD.MAP b/PROBOARD.MAP index 4e14491..40a9728 100644 --- a/PROBOARD.MAP +++ b/PROBOARD.MAP @@ -4,254 +4,254 @@ 00000H 0676EH 0676FH _TEXT CODE 06770H 06770H 00000H EXEC_TEXT CODE 06770H 08BE8H 02479H IO_TEXT CODE - 08BEAH 08D0FH 00126H FOSSIL_TEXT CODE - 08D10H 0A36CH 0165DH MISC_TEXT CODE - 0A36DH 0AE91H 00B25H TIMER_TEXT CODE - 0AE92H 0B29BH 0040AH FUZZY_TEXT CODE - 0B29CH 0C4EEH 01253H _OVRTEXT_ CODE - 0C4EFH 0CBC6H 006D8H PB_LIB_TEXT CODE - 0CBC7H 0D3A7H 007E1H LANG_TEXT CODE - 0D3A8H 0FC9EH 028F7H USER_TEXT CODE - 0FC9FH 111D5H 01537H DATE_TEXT CODE - 111D6H 11453H 0027EH DIRSCAN_TEXT CODE - 11454H 1148BH 00038H FIND_TEXT CODE - 1148CH 12409H 00F7EH DSTRING_TEXT CODE - 1240AH 125AAH 001A1H BITARRAY_TEXT CODE - 125ABH 12624H 0007AH SOUND_TEXT CODE - 12625H 126F8H 000D4H CRC16_TEXT CODE - 126F9H 1283DH 00145H CRC32_TEXT CODE - 1283EH 128A5H 00068H FORM_TEXT CODE - 128A6H 129BFH 0011AH MSDOS_TEXT CODE - 129C0H 12EDEH 0051FH FNAME_TEXT CODE - 12EDFH 14210H 01332H FILE_TEXT CODE - 14211H 14848H 00638H INIVAR_TEXT CODE - 14849H 14ECEH 00686H DIRFUNC_TEXT CODE - 14ECFH 15121H 00253H COPYFILE_TEXT CODE - 15122H 15284H 00163H INIT_TEXT CODE - 15285H 153D8H 00154H KEYBOARD_TEXT CODE - 153D9H 1587EH 004A6H RECTANG_TEXT CODE - 1587FH 1745AH 01BDCH WINDOW_TEXT CODE - 1745CH 1790CH 004B1H PWS_ASM_TEXT CODE - 1790DH 17B21H 00215H SAVEBUF_TEXT CODE - 17B22H 17BADH 0008CH TSW_ASM_TEXT CODE - 17BB0H 17BB0H 00000H _FARDATA FAR_DATA - 17BB0H 1837FH 007D0H PROBOARD5_DATA FAR_DATA - 18380H 18380H 00000H _FARBSS FAR_BSS - 18380H 18380H 00000H _OVERLAY_ OVRINFO - 18380H 18486H 00107H _OVRDATA_ OVRINFO - 18490H 184AFH 00020H _STUB_ OVRINFO - 184B0H 184BFH 00010H _EXTSEG_ OVRINFO - 184C0H 184CFH 00010H _EMSSEG_ OVRINFO - 184D0H 1851FH 00050H _VDISKSEG_ OVRINFO - 18520H 189F7H 004D8H _EXEINFO_ OVRINFO - 18A00H 18A00H 00000H _1STUB_ STUBSEG - 18A00H 18A5BH 0005CH MENU_TEXT STUBSEG - 18A60H 18A89H 0002AH CHAT_TEXT STUBSEG - 18A90H 18AD2H 00043H SHELL_TEXT STUBSEG - 18AE0H 18B13H 00034H LOGIN_TEXT STUBSEG - 18B20H 18B44H 00025H PBUSER_TEXT STUBSEG - 18B50H 18B83H 00034H READMSG_TEXT STUBSEG - 18B90H 18BB9H 0002AH MAILCHK_TEXT STUBSEG - 18BC0H 18C39H 0007AH MSG_TEXT STUBSEG - 18C40H 18C69H 0002AH ZIP_TEXT STUBSEG - 18C70H 18C9EH 0002FH WRITEMSG_TEXT STUBSEG - 18CA0H 18CC4H 00025H TOPS_TEXT STUBSEG - 18CD0H 18CF4H 00025H FORWARD_TEXT STUBSEG - 18D00H 18D24H 00025H REPLYMSG_TEXT STUBSEG - 18D30H 18D54H 00025H TIMESTAT_TEXT STUBSEG - 18D60H 18D84H 00025H MSGDEL_TEXT STUBSEG - 18D90H 18DB9H 0002AH COMBINED_TEXT STUBSEG - 18DC0H 18DE4H 00025H QUESTION_TEXT STUBSEG - 18DF0H 18E14H 00025H AKA_TEXT STUBSEG - 18E20H 18E44H 00025H QSCANMSG_TEXT STUBSEG - 18E50H 18E74H 00025H SHOWMSG_TEXT STUBSEG - 18E80H 18EA4H 00025H SCANMSG_TEXT STUBSEG - 18EB0H 18ED4H 00025H VERSION_TEXT STUBSEG - 18EE0H 18F04H 00025H RAWDIR_TEXT STUBSEG - 18F10H 18F6BH 0005CH MSGED_TEXT STUBSEG - 18F70H 19084H 00115H DL_TEXT STUBSEG - 19090H 190BEH 0002FH VIEWFILE_TEXT STUBSEG - 190C0H 190E4H 00025H LASTCALL_TEXT STUBSEG - 190F0H 1911EH 0002FH DESQVIEW_TEXT STUBSEG - 19120H 1914EH 0002FH STACKING_TEXT STUBSEG - 19150H 1917EH 0002FH CLEANUP_TEXT STUBSEG - 19180H 191A4H 00025H SYSOPKEY_TEXT STUBSEG - 191B0H 191DEH 0002FH MSGFIND_TEXT STUBSEG - 191E0H 19209H 0002AH BINLOG_TEXT STUBSEG - 19210H 1923EH 0002FH PROTOCOL_TEXT STUBSEG - 19240H 192D2H 00093H LISTFILE_TEXT STUBSEG - 192E0H 19377H 00098H UL_TEXT STUBSEG - 19380H 193AEH 0002FH TAG_TEXT STUBSEG - 193B0H 193DEH 0002FH SELLANG_TEXT STUBSEG - 193E0H 1947CH 0009DH PROBOARD_TEXT STUBSEG - 19480H 194A4H 00025H NODELIST_TEXT STUBSEG - 194B0H 194F7H 00048H ONLINE_TEXT STUBSEG - 19500H 19524H 00025H MSGMOVE_TEXT STUBSEG - 19530H 1955EH 0002FH CDROM_TEXT STUBSEG - 19560H 195A2H 00043H REGIS_TEXT STUBSEG - 195B0H 19601H 00052H MCHAT_TEXT STUBSEG - 19610H 19643H 00034H SETAREA_TEXT STUBSEG - 19650H 19679H 0002AH USERED_TEXT STUBSEG - 19680H 196A4H 00025H DECKEY_TEXT STUBSEG - 196B0H 196D4H 00025H MUSIC_TEXT STUBSEG - 196E0H 19704H 00025H GIF_TEXT STUBSEG - 19710H 1973EH 0002FH MSGEXPRT_TEXT STUBSEG - 19740H 19778H 00039H HELP_TEXT STUBSEG - 19780H 197B3H 00034H EGA_TEXT STUBSEG - 197C0H 197E9H 0002AH EVENT_TEXT STUBSEG - 197F0H 19832H 00043H FILEAREA_TEXT STUBSEG - 19840H 19882H 00043H MSGAREA_TEXT STUBSEG - 19890H 198B9H 0002AH TIMELOG_TEXT STUBSEG - 198C0H 198E4H 00025H WORDWRAP_TEXT STUBSEG - 198F0H 19923H 00034H SHOWANS_TEXT STUBSEG - 19930H 199BDH 0008EH USERSET_TEXT STUBSEG - 199C0H 199F3H 00034H USAGE_TEXT STUBSEG - 19A00H 19EACH 004ADH LOADPEX_TEXT STUBSEG - 19EB0H 19ED4H 00025H IMAGE_TEXT STUBSEG - 19EE0H 19F09H 0002AH POSTMSG_TEXT STUBSEG - 19F10H 19F34H 00025H PEXCALL_TEXT STUBSEG - 19F40H 19F64H 00025H STRVARS_TEXT STUBSEG - 19F70H 19F9EH 0002FH USERWIN_TEXT STUBSEG - 19FA0H 19FC4H 00025H BULLETIN_TEXT STUBSEG - 19FD0H 1A008H 00039H MODEM_TEXT STUBSEG - 1A010H 1A034H 00025H EXECHECK_TEXT STUBSEG - 1A040H 1A07DH 0003EH LANGUAGE_TEXT STUBSEG - 1A080H 1A0A9H 0002AH FUZZY_TEXT STUBSEG - 1A0B0H 1A0E3H 00034H TERMINAL_TEXT STUBSEG - 1A0F0H 1A15FH 00070H SQUISH_TEXT STUBSEG - 1A160H 1A20BH 000ACH HUDSON_TEXT STUBSEG - 1A210H 1A25CH 0004DH MSGBASE_TEXT STUBSEG - 1A260H 1A2ACH 0004DH MARK_TEXT STUBSEG - 1A2B0H 1A351H 000A2H RIP_TEXT STUBSEG - 1A360H 1A406H 000A7H JAM_TEXT STUBSEG - 1A410H 1A434H 00025H INPDATE_TEXT STUBSEG - 1A440H 1A469H 0002AH TAG_RW_TEXT STUBSEG - 1A470H 1A494H 00025H 1STCHAR_TEXT STUBSEG - 1A4A0H 1A500H 00061H MSGAPI_TEXT STUBSEG - 1A510H 1A5A2H 00093H API_SDM_TEXT STUBSEG - 1A5B0H 1A66FH 000C0H API_SQ_TEXT STUBSEG - 1A670H 1A69EH 0002FH SQASM_TEXT STUBSEG - 1A6A0H 1A6CEH 0002FH CVTDATE_TEXT STUBSEG - 1A6D0H 1A6F4H 00025H DATE2BIN_TEXT STUBSEG - 1A700H 1A724H 00025H DOSDATE_TEXT STUBSEG - 1A730H 1A75EH 0002FH FEXIST_TEXT STUBSEG - 1A760H 1A793H 00034H FFIND_TEXT STUBSEG - 1A7A0H 1A7C4H 00025H FLUSHA_TEXT STUBSEG - 1A7D0H 1A7EFH 00020H MONTHS_TEXT STUBSEG - 1A7F0H 1A819H 0002AH PARSENN_TEXT STUBSEG - 1A820H 1A849H 0002AH QKSORT_TEXT STUBSEG - 1A850H 1A874H 00025H STRISTR_TEXT STUBSEG - 1A880H 1A8A4H 00025H STROCPY_TEXT STUBSEG - 1A8B0H 1A8D9H 0002AH TRAIL_TEXT STUBSEG - 1A8E0H 21AB7H 071D8H _DATA DATA - 21AB8H 21AB9H 00002H _CVTSEG DATA - 21ABAH 21ABFH 00006H _SCNSEG DATA - 21AC0H 21AC0H 00000H _CONST CONST - 21AC0H 21B31H 00072H _INIT_ INITDATA - 21B32H 21B32H 00000H _INITEND_ INITDATA - 21B32H 21B91H 00060H _EXIT_ EXITDATA - 21B92H 21B92H 00000H _EXITEND_ EXITDATA - 21B92H 25A45H 03EB4H _BSS BSS - 25A46H 25A46H 00000H _BSSEND BSSEND - 25A50H 25ACFH 00080H _STACK STACK - 25AE0H 27847H 01D68H MENU_TEXT :OVY - 279D0H 28213H 00844H CHAT_TEXT :OVY - 282F0H 2A77DH 0248EH SHELL_TEXT :OVY - 2AA60H 2CC06H 021A7H LOGIN_TEXT :OVY - 2CF40H 2D19EH 0025FH PBUSER_TEXT :OVY - 2D1D0H 2FC48H 02A79H READMSG_TEXT :OVY - 2FF40H 3080EH 008CFH MAILCHK_TEXT :OVY - 308D0H 31B57H 01288H MSG_TEXT :OVY - 31C40H 327BBH 00B7CH ZIP_TEXT :OVY - 32880H 33DEAH 0156BH WRITEMSG_TEXT :OVY - 33FB0H 34418H 00469H TOPS_TEXT :OVY - 34460H 34940H 004E1H FORWARD_TEXT :OVY - 349B0H 35A62H 010B3H REPLYMSG_TEXT :OVY - 35B70H 36136H 005C7H TIMESTAT_TEXT :OVY - 361E0H 3624FH 00070H MSGDEL_TEXT :OVY - 36260H 367C3H 00564H COMBINED_TEXT :OVY - 36840H 37158H 00919H QUESTION_TEXT :OVY - 371F0H 372F4H 00105H AKA_TEXT :OVY - 37310H 38357H 01048H QSCANMSG_TEXT :OVY - 38470H 396B9H 0124AH SHOWMSG_TEXT :OVY - 39820H 3A8B2H 01093H SCANMSG_TEXT :OVY - 3A9D0H 3ABB6H 001E7H VERSION_TEXT :OVY - 3AC00H 3AE4FH 00250H RAWDIR_TEXT :OVY - 3AE90H 3C073H 011E4H MSGED_TEXT :OVY - 3C1C0H 406F6H 04537H DL_TEXT :OVY - 40B80H 40CA7H 00128H VIEWFILE_TEXT :OVY - 40CD0H 40D2FH 00060H LASTCALL_TEXT :OVY - 40D40H 40D73H 00034H DESQVIEW_TEXT :OVY - 40D80H 40E32H 000B3H STACKING_TEXT :OVY - 40E40H 412B8H 00479H CLEANUP_TEXT :OVY - 41330H 4185EH 0052FH SYSOPKEY_TEXT :OVY - 418D0H 41B2DH 0025EH MSGFIND_TEXT :OVY - 41B40H 41E65H 00326H BINLOG_TEXT :OVY - 41EB0H 422FDH 0044EH PROTOCOL_TEXT :OVY - 42360H 453A3H 03044H LISTFILE_TEXT :OVY - 456E0H 4816DH 02A8EH UL_TEXT :OVY - 484E0H 48883H 003A4H TAG_TEXT :OVY - 488F0H 48DE5H 004F6H SELLANG_TEXT :OVY - 48E60H 4A8FAH 01A9BH PROBOARD_TEXT :OVY - 4AB50H 4B4C3H 00974H NODELIST_TEXT :OVY - 4B550H 4BD2DH 007DEH ONLINE_TEXT :OVY - 4BDC0H 4BF94H 001D5H MSGMOVE_TEXT :OVY - 4BFC0H 4C619H 0065AH CDROM_TEXT :OVY - 4C6D0H 4D206H 00B37H REGIS_TEXT :OVY - 4D240H 4DD9CH 00B5DH MCHAT_TEXT :OVY - 4DE90H 4F27DH 013EEH SETAREA_TEXT :OVY - 4F400H 4F7C4H 003C5H USERED_TEXT :OVY - 4F810H 4FD1EH 0050FH DECKEY_TEXT :OVY - 4FD30H 5012BH 003FCH MUSIC_TEXT :OVY - 50180H 5055EH 003DFH GIF_TEXT :OVY - 505C0H 51226H 00C67H MSGEXPRT_TEXT :OVY - 512F0H 516A1H 003B2H HELP_TEXT :OVY - 516E0H 51715H 00036H EGA_TEXT :OVY - 51720H 51984H 00265H EVENT_TEXT :OVY - 519B0H 5219FH 007F0H FILEAREA_TEXT :OVY - 52210H 528FBH 006ECH MSGAREA_TEXT :OVY - 52940H 52C7BH 0033CH TIMELOG_TEXT :OVY - 52CC0H 52D7DH 000BEH WORDWRAP_TEXT :OVY - 52D90H 52FC4H 00235H SHOWANS_TEXT :OVY - 52FF0H 54F4BH 01F5CH USERSET_TEXT :OVY - 55160H 5521FH 000C0H USAGE_TEXT :OVY - 55230H 59709H 044DAH LOADPEX_TEXT :OVY - 59BD0H 59CE8H 00119H IMAGE_TEXT :OVY - 59D00H 59F86H 00287H POSTMSG_TEXT :OVY - 59FC0H 59FE7H 00028H PEXCALL_TEXT :OVY - 59FF0H 5AAF1H 00B02H STRVARS_TEXT :OVY - 5AB90H 5B17EH 005EFH USERWIN_TEXT :OVY - 5B200H 5B3C2H 001C3H BULLETIN_TEXT :OVY - 5B3F0H 5D38EH 01F9FH MODEM_TEXT :OVY - 5D5B0H 5D5B4H 00005H EXECHECK_TEXT :OVY - 5D5C0H 5DDDCH 0081DH LANGUAGE_TEXT :OVY - 5DE60H 5E268H 00409H FUZZY_TEXT :OVY - 5E280H 5E539H 002BAH TERMINAL_TEXT :OVY - 5E570H 60987H 02418H SQUISH_TEXT :OVY - 60AB0H 63497H 029E8H HUDSON_TEXT :OVY - 63700H 63A1CH 0031DH MSGBASE_TEXT :OVY - 63A30H 64191H 00762H MARK_TEXT :OVY - 641D0H 65268H 01099H RIP_TEXT :OVY - 65380H 67CA0H 02921H JAM_TEXT :OVY - 67E30H 68017H 001E8H INPDATE_TEXT :OVY - 68040H 68391H 00352H TAG_RW_TEXT :OVY - 683E0H 6854BH 0016CH 1STCHAR_TEXT :OVY - 68560H 68CC1H 00762H MSGAPI_TEXT :OVY - 68D20H 6A9BAH 01C9BH API_SDM_TEXT :OVY - 6AAC0H 6E030H 03571H API_SQ_TEXT :OVY - 6E190H 6E1DBH 0004CH SQASM_TEXT :OVY - 6E1F0H 6E3ECH 001FDH CVTDATE_TEXT :OVY - 6E400H 6E647H 00248H DATE2BIN_TEXT :OVY - 6E660H 6E69DH 0003EH DOSDATE_TEXT :OVY - 6E6B0H 6E83FH 00190H FEXIST_TEXT :OVY - 6E860H 6E909H 000AAH FFIND_TEXT :OVY - 6E920H 6E935H 00016H FLUSHA_TEXT :OVY - 6E940H 6E940H 00000H MONTHS_TEXT :OVY - 6E950H 6EC50H 00301H PARSENN_TEXT :OVY - 6EC80H 6EDA4H 00125H QKSORT_TEXT :OVY - 6EDB0H 6EEBCH 0010DH STRISTR_TEXT :OVY - 6EED0H 6EF0CH 0003DH STROCPY_TEXT :OVY - 6EF20H 6EFB7H 00098H TRAIL_TEXT :OVY + 08BEAH 08CEEH 00105H FOSSIL_TEXT CODE + 08CEFH 0A34BH 0165DH MISC_TEXT CODE + 0A34CH 0AE70H 00B25H TIMER_TEXT CODE + 0AE71H 0B27AH 0040AH FUZZY_TEXT CODE + 0B27BH 0C4CDH 01253H _OVRTEXT_ CODE + 0C4CEH 0CBA5H 006D8H PB_LIB_TEXT CODE + 0CBA6H 0D386H 007E1H LANG_TEXT CODE + 0D387H 0FC7DH 028F7H USER_TEXT CODE + 0FC7EH 111B4H 01537H DATE_TEXT CODE + 111B5H 11432H 0027EH DIRSCAN_TEXT CODE + 11434H 1146BH 00038H FIND_TEXT CODE + 1146CH 123E9H 00F7EH DSTRING_TEXT CODE + 123EAH 1258AH 001A1H BITARRAY_TEXT CODE + 1258BH 12604H 0007AH SOUND_TEXT CODE + 12605H 126D8H 000D4H CRC16_TEXT CODE + 126D9H 1281DH 00145H CRC32_TEXT CODE + 1281EH 12885H 00068H FORM_TEXT CODE + 12886H 1299FH 0011AH MSDOS_TEXT CODE + 129A0H 12EBEH 0051FH FNAME_TEXT CODE + 12EBFH 141F0H 01332H FILE_TEXT CODE + 141F1H 14828H 00638H INIVAR_TEXT CODE + 14829H 14EAEH 00686H DIRFUNC_TEXT CODE + 14EAFH 15101H 00253H COPYFILE_TEXT CODE + 15102H 15264H 00163H INIT_TEXT CODE + 15265H 153B8H 00154H KEYBOARD_TEXT CODE + 153B9H 1585EH 004A6H RECTANG_TEXT CODE + 1585FH 1743AH 01BDCH WINDOW_TEXT CODE + 1743CH 178ECH 004B1H PWS_ASM_TEXT CODE + 178EDH 17B01H 00215H SAVEBUF_TEXT CODE + 17B02H 17B8DH 0008CH TSW_ASM_TEXT CODE + 17B90H 17B90H 00000H _FARDATA FAR_DATA + 17B90H 1835FH 007D0H PROBOARD5_DATA FAR_DATA + 18360H 18360H 00000H _FARBSS FAR_BSS + 18360H 18360H 00000H _OVERLAY_ OVRINFO + 18360H 18466H 00107H _OVRDATA_ OVRINFO + 18470H 1848FH 00020H _STUB_ OVRINFO + 18490H 1849FH 00010H _EXTSEG_ OVRINFO + 184A0H 184AFH 00010H _EMSSEG_ OVRINFO + 184B0H 184FFH 00050H _VDISKSEG_ OVRINFO + 18500H 189D7H 004D8H _EXEINFO_ OVRINFO + 189E0H 189E0H 00000H _1STUB_ STUBSEG + 189E0H 18A3BH 0005CH MENU_TEXT STUBSEG + 18A40H 18A69H 0002AH CHAT_TEXT STUBSEG + 18A70H 18AB2H 00043H SHELL_TEXT STUBSEG + 18AC0H 18AF3H 00034H LOGIN_TEXT STUBSEG + 18B00H 18B24H 00025H PBUSER_TEXT STUBSEG + 18B30H 18B63H 00034H READMSG_TEXT STUBSEG + 18B70H 18B99H 0002AH MAILCHK_TEXT STUBSEG + 18BA0H 18C19H 0007AH MSG_TEXT STUBSEG + 18C20H 18C49H 0002AH ZIP_TEXT STUBSEG + 18C50H 18C7EH 0002FH WRITEMSG_TEXT STUBSEG + 18C80H 18CA4H 00025H TOPS_TEXT STUBSEG + 18CB0H 18CD4H 00025H FORWARD_TEXT STUBSEG + 18CE0H 18D04H 00025H REPLYMSG_TEXT STUBSEG + 18D10H 18D34H 00025H TIMESTAT_TEXT STUBSEG + 18D40H 18D64H 00025H MSGDEL_TEXT STUBSEG + 18D70H 18D99H 0002AH COMBINED_TEXT STUBSEG + 18DA0H 18DC4H 00025H QUESTION_TEXT STUBSEG + 18DD0H 18DF4H 00025H AKA_TEXT STUBSEG + 18E00H 18E24H 00025H QSCANMSG_TEXT STUBSEG + 18E30H 18E54H 00025H SHOWMSG_TEXT STUBSEG + 18E60H 18E84H 00025H SCANMSG_TEXT STUBSEG + 18E90H 18EB4H 00025H VERSION_TEXT STUBSEG + 18EC0H 18EE4H 00025H RAWDIR_TEXT STUBSEG + 18EF0H 18F4BH 0005CH MSGED_TEXT STUBSEG + 18F50H 19064H 00115H DL_TEXT STUBSEG + 19070H 1909EH 0002FH VIEWFILE_TEXT STUBSEG + 190A0H 190C4H 00025H LASTCALL_TEXT STUBSEG + 190D0H 190FEH 0002FH DESQVIEW_TEXT STUBSEG + 19100H 1912EH 0002FH STACKING_TEXT STUBSEG + 19130H 1915EH 0002FH CLEANUP_TEXT STUBSEG + 19160H 19184H 00025H SYSOPKEY_TEXT STUBSEG + 19190H 191BEH 0002FH MSGFIND_TEXT STUBSEG + 191C0H 191E9H 0002AH BINLOG_TEXT STUBSEG + 191F0H 1921EH 0002FH PROTOCOL_TEXT STUBSEG + 19220H 192B2H 00093H LISTFILE_TEXT STUBSEG + 192C0H 19357H 00098H UL_TEXT STUBSEG + 19360H 1938EH 0002FH TAG_TEXT STUBSEG + 19390H 193BEH 0002FH SELLANG_TEXT STUBSEG + 193C0H 1945CH 0009DH PROBOARD_TEXT STUBSEG + 19460H 19484H 00025H NODELIST_TEXT STUBSEG + 19490H 194D7H 00048H ONLINE_TEXT STUBSEG + 194E0H 19504H 00025H MSGMOVE_TEXT STUBSEG + 19510H 1953EH 0002FH CDROM_TEXT STUBSEG + 19540H 19582H 00043H REGIS_TEXT STUBSEG + 19590H 195E1H 00052H MCHAT_TEXT STUBSEG + 195F0H 19623H 00034H SETAREA_TEXT STUBSEG + 19630H 19659H 0002AH USERED_TEXT STUBSEG + 19660H 19684H 00025H DECKEY_TEXT STUBSEG + 19690H 196B4H 00025H MUSIC_TEXT STUBSEG + 196C0H 196E4H 00025H GIF_TEXT STUBSEG + 196F0H 1971EH 0002FH MSGEXPRT_TEXT STUBSEG + 19720H 19758H 00039H HELP_TEXT STUBSEG + 19760H 19793H 00034H EGA_TEXT STUBSEG + 197A0H 197C9H 0002AH EVENT_TEXT STUBSEG + 197D0H 19812H 00043H FILEAREA_TEXT STUBSEG + 19820H 19862H 00043H MSGAREA_TEXT STUBSEG + 19870H 19899H 0002AH TIMELOG_TEXT STUBSEG + 198A0H 198C4H 00025H WORDWRAP_TEXT STUBSEG + 198D0H 19903H 00034H SHOWANS_TEXT STUBSEG + 19910H 1999DH 0008EH USERSET_TEXT STUBSEG + 199A0H 199D3H 00034H USAGE_TEXT STUBSEG + 199E0H 19E8CH 004ADH LOADPEX_TEXT STUBSEG + 19E90H 19EB4H 00025H IMAGE_TEXT STUBSEG + 19EC0H 19EE9H 0002AH POSTMSG_TEXT STUBSEG + 19EF0H 19F14H 00025H PEXCALL_TEXT STUBSEG + 19F20H 19F44H 00025H STRVARS_TEXT STUBSEG + 19F50H 19F7EH 0002FH USERWIN_TEXT STUBSEG + 19F80H 19FA4H 00025H BULLETIN_TEXT STUBSEG + 19FB0H 19FE8H 00039H MODEM_TEXT STUBSEG + 19FF0H 1A014H 00025H EXECHECK_TEXT STUBSEG + 1A020H 1A05DH 0003EH LANGUAGE_TEXT STUBSEG + 1A060H 1A089H 0002AH FUZZY_TEXT STUBSEG + 1A090H 1A0C3H 00034H TERMINAL_TEXT STUBSEG + 1A0D0H 1A13FH 00070H SQUISH_TEXT STUBSEG + 1A140H 1A1EBH 000ACH HUDSON_TEXT STUBSEG + 1A1F0H 1A23CH 0004DH MSGBASE_TEXT STUBSEG + 1A240H 1A28CH 0004DH MARK_TEXT STUBSEG + 1A290H 1A331H 000A2H RIP_TEXT STUBSEG + 1A340H 1A3E6H 000A7H JAM_TEXT STUBSEG + 1A3F0H 1A414H 00025H INPDATE_TEXT STUBSEG + 1A420H 1A449H 0002AH TAG_RW_TEXT STUBSEG + 1A450H 1A474H 00025H 1STCHAR_TEXT STUBSEG + 1A480H 1A4E0H 00061H MSGAPI_TEXT STUBSEG + 1A4F0H 1A582H 00093H API_SDM_TEXT STUBSEG + 1A590H 1A64FH 000C0H API_SQ_TEXT STUBSEG + 1A650H 1A67EH 0002FH SQASM_TEXT STUBSEG + 1A680H 1A6AEH 0002FH CVTDATE_TEXT STUBSEG + 1A6B0H 1A6D4H 00025H DATE2BIN_TEXT STUBSEG + 1A6E0H 1A704H 00025H DOSDATE_TEXT STUBSEG + 1A710H 1A73EH 0002FH FEXIST_TEXT STUBSEG + 1A740H 1A773H 00034H FFIND_TEXT STUBSEG + 1A780H 1A7A4H 00025H FLUSHA_TEXT STUBSEG + 1A7B0H 1A7CFH 00020H MONTHS_TEXT STUBSEG + 1A7D0H 1A7F9H 0002AH PARSENN_TEXT STUBSEG + 1A800H 1A829H 0002AH QKSORT_TEXT STUBSEG + 1A830H 1A854H 00025H STRISTR_TEXT STUBSEG + 1A860H 1A884H 00025H STROCPY_TEXT STUBSEG + 1A890H 1A8B9H 0002AH TRAIL_TEXT STUBSEG + 1A8C0H 21A97H 071D8H _DATA DATA + 21A98H 21A99H 00002H _CVTSEG DATA + 21A9AH 21A9FH 00006H _SCNSEG DATA + 21AA0H 21AA0H 00000H _CONST CONST + 21AA0H 21B11H 00072H _INIT_ INITDATA + 21B12H 21B12H 00000H _INITEND_ INITDATA + 21B12H 21B71H 00060H _EXIT_ EXITDATA + 21B72H 21B72H 00000H _EXITEND_ EXITDATA + 21B72H 25A25H 03EB4H _BSS BSS + 25A26H 25A26H 00000H _BSSEND BSSEND + 25A30H 25AAFH 00080H _STACK STACK + 25AC0H 27827H 01D68H MENU_TEXT :OVY + 279B0H 281F3H 00844H CHAT_TEXT :OVY + 282D0H 2A75DH 0248EH SHELL_TEXT :OVY + 2AA40H 2CBE6H 021A7H LOGIN_TEXT :OVY + 2CF20H 2D17EH 0025FH PBUSER_TEXT :OVY + 2D1B0H 2FC28H 02A79H READMSG_TEXT :OVY + 2FF20H 307EEH 008CFH MAILCHK_TEXT :OVY + 308B0H 31B37H 01288H MSG_TEXT :OVY + 31C20H 3279BH 00B7CH ZIP_TEXT :OVY + 32860H 33DCAH 0156BH WRITEMSG_TEXT :OVY + 33F90H 343F8H 00469H TOPS_TEXT :OVY + 34440H 34920H 004E1H FORWARD_TEXT :OVY + 34990H 35A42H 010B3H REPLYMSG_TEXT :OVY + 35B50H 36116H 005C7H TIMESTAT_TEXT :OVY + 361C0H 3622FH 00070H MSGDEL_TEXT :OVY + 36240H 367A3H 00564H COMBINED_TEXT :OVY + 36820H 37138H 00919H QUESTION_TEXT :OVY + 371D0H 372D4H 00105H AKA_TEXT :OVY + 372F0H 38337H 01048H QSCANMSG_TEXT :OVY + 38450H 39699H 0124AH SHOWMSG_TEXT :OVY + 39800H 3A892H 01093H SCANMSG_TEXT :OVY + 3A9B0H 3AB96H 001E7H VERSION_TEXT :OVY + 3ABE0H 3AE2FH 00250H RAWDIR_TEXT :OVY + 3AE70H 3C053H 011E4H MSGED_TEXT :OVY + 3C1A0H 406D6H 04537H DL_TEXT :OVY + 40B60H 40C87H 00128H VIEWFILE_TEXT :OVY + 40CB0H 40D0FH 00060H LASTCALL_TEXT :OVY + 40D20H 40D53H 00034H DESQVIEW_TEXT :OVY + 40D60H 40E12H 000B3H STACKING_TEXT :OVY + 40E20H 41298H 00479H CLEANUP_TEXT :OVY + 41310H 4183EH 0052FH SYSOPKEY_TEXT :OVY + 418B0H 41B0DH 0025EH MSGFIND_TEXT :OVY + 41B20H 41E45H 00326H BINLOG_TEXT :OVY + 41E90H 422DDH 0044EH PROTOCOL_TEXT :OVY + 42340H 45383H 03044H LISTFILE_TEXT :OVY + 456C0H 4814DH 02A8EH UL_TEXT :OVY + 484C0H 48863H 003A4H TAG_TEXT :OVY + 488D0H 48DC5H 004F6H SELLANG_TEXT :OVY + 48E40H 4A8DAH 01A9BH PROBOARD_TEXT :OVY + 4AB30H 4B4A3H 00974H NODELIST_TEXT :OVY + 4B530H 4BD0DH 007DEH ONLINE_TEXT :OVY + 4BDA0H 4BF74H 001D5H MSGMOVE_TEXT :OVY + 4BFA0H 4C5F9H 0065AH CDROM_TEXT :OVY + 4C6B0H 4D1E6H 00B37H REGIS_TEXT :OVY + 4D220H 4DD7CH 00B5DH MCHAT_TEXT :OVY + 4DE70H 4F25DH 013EEH SETAREA_TEXT :OVY + 4F3E0H 4F7A4H 003C5H USERED_TEXT :OVY + 4F7F0H 4FCFEH 0050FH DECKEY_TEXT :OVY + 4FD10H 5010BH 003FCH MUSIC_TEXT :OVY + 50160H 5053EH 003DFH GIF_TEXT :OVY + 505A0H 51206H 00C67H MSGEXPRT_TEXT :OVY + 512D0H 51681H 003B2H HELP_TEXT :OVY + 516C0H 516F5H 00036H EGA_TEXT :OVY + 51700H 51964H 00265H EVENT_TEXT :OVY + 51990H 5217FH 007F0H FILEAREA_TEXT :OVY + 521F0H 528DBH 006ECH MSGAREA_TEXT :OVY + 52920H 52C5BH 0033CH TIMELOG_TEXT :OVY + 52CA0H 52D5DH 000BEH WORDWRAP_TEXT :OVY + 52D70H 52FA4H 00235H SHOWANS_TEXT :OVY + 52FD0H 54F2BH 01F5CH USERSET_TEXT :OVY + 55140H 551FFH 000C0H USAGE_TEXT :OVY + 55210H 596E9H 044DAH LOADPEX_TEXT :OVY + 59BB0H 59CC8H 00119H IMAGE_TEXT :OVY + 59CE0H 59F66H 00287H POSTMSG_TEXT :OVY + 59FA0H 59FC7H 00028H PEXCALL_TEXT :OVY + 59FD0H 5AAD1H 00B02H STRVARS_TEXT :OVY + 5AB70H 5B15EH 005EFH USERWIN_TEXT :OVY + 5B1E0H 5B3A2H 001C3H BULLETIN_TEXT :OVY + 5B3D0H 5D36EH 01F9FH MODEM_TEXT :OVY + 5D590H 5D594H 00005H EXECHECK_TEXT :OVY + 5D5A0H 5DDBCH 0081DH LANGUAGE_TEXT :OVY + 5DE40H 5E248H 00409H FUZZY_TEXT :OVY + 5E260H 5E519H 002BAH TERMINAL_TEXT :OVY + 5E550H 60967H 02418H SQUISH_TEXT :OVY + 60A90H 63477H 029E8H HUDSON_TEXT :OVY + 636E0H 639FCH 0031DH MSGBASE_TEXT :OVY + 63A10H 64171H 00762H MARK_TEXT :OVY + 641B0H 65248H 01099H RIP_TEXT :OVY + 65360H 67C80H 02921H JAM_TEXT :OVY + 67E10H 67FF7H 001E8H INPDATE_TEXT :OVY + 68020H 68371H 00352H TAG_RW_TEXT :OVY + 683C0H 6852BH 0016CH 1STCHAR_TEXT :OVY + 68540H 68CA1H 00762H MSGAPI_TEXT :OVY + 68D00H 6A99AH 01C9BH API_SDM_TEXT :OVY + 6AAA0H 6E010H 03571H API_SQ_TEXT :OVY + 6E170H 6E1BBH 0004CH SQASM_TEXT :OVY + 6E1D0H 6E3CCH 001FDH CVTDATE_TEXT :OVY + 6E3E0H 6E627H 00248H DATE2BIN_TEXT :OVY + 6E640H 6E67DH 0003EH DOSDATE_TEXT :OVY + 6E690H 6E81FH 00190H FEXIST_TEXT :OVY + 6E840H 6E8E9H 000AAH FFIND_TEXT :OVY + 6E900H 6E915H 00016H FLUSHA_TEXT :OVY + 6E920H 6E920H 00000H MONTHS_TEXT :OVY + 6E930H 6EC30H 00301H PARSENN_TEXT :OVY + 6EC60H 6ED84H 00125H QKSORT_TEXT :OVY + 6ED90H 6EE9CH 0010DH STRISTR_TEXT :OVY + 6EEB0H 6EEECH 0003DH STROCPY_TEXT :OVY + 6EF00H 6EF97H 00098H TRAIL_TEXT :OVY Program entry point at 0000:0000