'=========================================================================== ' Subject: CONVERT ANSI FILE TO .COM Date: 01-07-97 (22:36) ' Author: Denis Boyles Code: QB, QBasic, PDS ' Origin: FidoNet QUIK_BAS Echo Packet: ANSI.ABC '=========================================================================== '========================================================================== 'PROGRAM: ANS2COM.BAS (based on Nick Coon's ANSI2COM.BAS program) ' AUTHOR: Denis Boyles 'RELEASE: Public Domain (pd) Jan 07, 1997 'VERSION: 1.00 'COMPILE: Microsoft qBASIC v1.1 ' OS: MS-DOS (v6.20) 'PURPOSE: convert a raw ANSI file into a COM program ' NOTES: uses CONSTants ANSFile and COMFile for the filenames ' needs to be modified to support the command line arguments '========================================================================== DECLARE SUB AnsToCom (aFileName$, cFileName$) DECLARE SUB ReadASMCode () DEFINT A-Z CONST ANSFile = "PHANTASM.ANS" CONST COMFile = "PHANTASM.COM" COMMON SHARED ASMCode$ ReadASMCode AnsToCom ANSFile, COMFile DATA &HBE, &H11, &H01, &HAC, &H3C, &H1A, &H74, &H04 DATA &HCD, &H29, &HEB, &HF7, &HB8, &H00, &H4C, &HCD DATA &H21, -1 SUB AnsToCom (aFileName$, cFileName$) PRINT "Reading "; aFileName$; "..." OPEN aFileName$ FOR BINARY AS 1 buffer$ = SPACE$(LOF(1)) GET #1, , buffer$ CLOSE #1 PRINT "Writing "; cFileName$; "..." OPEN cFileName$ FOR OUTPUT AS 1 PRINT #1, ASMCode$; buffer$; CHR$(&H1A) CLOSE #1 END SUB SUB ReadASMCode DO READ opcode IF opcode = -1 THEN EXIT DO ELSE ASMCode$ = ASMCode$ + CHR$(opcode) END IF LOOP END SUB