mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2024-12-12 01:30:00 +00:00
c8cac53c5e
Massive updates that changes the way most subroutines are handled. Major bugfixes, various utilities added, started higher-level libraries.
152 lines
3.1 KiB
Plaintext
152 lines
3.1 KiB
Plaintext
********************************
|
||
* *
|
||
* MAKEEXEC *
|
||
* *
|
||
* CREATES AN EXEC FILE THAT *
|
||
* RUNS A BINARY. NECESSARY FOR *
|
||
* ANY FILE OPERATIONS. *
|
||
* *
|
||
* NOTE THAT IRONICALLY, THIS *
|
||
* PROGRAM ITSELF HAS TO BE RUN *
|
||
* THROUGH AN EXEC FILE... *
|
||
* *
|
||
********************************
|
||
*
|
||
** ASSEMBLER DIRECTIVES
|
||
*
|
||
CYC AVE
|
||
EXP ONLY ; TURN OFF LATER
|
||
DSK MAKEEXEC
|
||
TR ON
|
||
OBJ $BFE0
|
||
ORG $6000
|
||
*
|
||
********************************
|
||
* *
|
||
* HEADER, HOOKS AND MACROS *
|
||
* *
|
||
********************************
|
||
*
|
||
PUT MIN.VARS.REQUIRED
|
||
USE MIN.MAC.STRINGS
|
||
USE MIN.MAC.REQUIRED
|
||
USE MIN.MAC.FILEIO
|
||
USE MIN.MAC.STDIO
|
||
PUT MIN.HOOKS.REQUIRED
|
||
PUT MIN.HOOKS.STDIO
|
||
PUT MIN.HOOKS.FILEIO
|
||
PUT MIN.HOOKS.STRINGS
|
||
*
|
||
********************************
|
||
* *
|
||
* CONSTANT DECLARATIONS *
|
||
* *
|
||
********************************
|
||
*
|
||
*
|
||
********************************
|
||
* *
|
||
* MAIN PROGRAM LOOP *
|
||
* *
|
||
********************************
|
||
*
|
||
JSR HOME
|
||
PRN "************************",8D
|
||
PRN "* *",8D
|
||
PRN "* EXEC FILE MAKER FOR *",8D
|
||
PRN "* BINARY PROGRAMS THAT *",8D
|
||
PRN "* USE APPLESOFT. *",8D
|
||
PRN "* * ",8D
|
||
PRN "************************",8D8D8D
|
||
*
|
||
PRN "BIN FILENAME: "
|
||
INP
|
||
LDA RETLEN
|
||
GRET #BNAME ; TRANSFER RETURN TO BNAME
|
||
*
|
||
PRN "BIN STARTING ADDRESS: "
|
||
INP
|
||
LDA RETLEN
|
||
GRET #BLOC
|
||
*
|
||
SCAT "GO.";#BNAME;#20 ; PREFIX NAME WITH GO.
|
||
*
|
||
GRET #TNAME ; STORE RESULTING STRING IN TNAME
|
||
*
|
||
PRN " ",8D
|
||
PRN "BUILDING FILE: "
|
||
SPRN #TNAME
|
||
PRN " ",8D8D
|
||
*
|
||
** OPEN FILE FOR WRITING
|
||
*
|
||
SCAT "OPEN ";#TNAME;#255
|
||
CMD #RETURN
|
||
SCAT "WRITE ";#TNAME;#255
|
||
CMD #RETURN
|
||
*
|
||
** PRINT TO FILE
|
||
*
|
||
SCAT "BLOAD ";#BNAME;#255
|
||
FPRN #RETURN
|
||
LDA #$8D
|
||
JSR FCOUT
|
||
FPRN "CALL -151"
|
||
SCAT #BLOC;"G";#255
|
||
FPRN #RETURN
|
||
*
|
||
** CLOSE FILE
|
||
*
|
||
SCAT "CLOSE ";#TNAME;#255
|
||
CMD #RETURN
|
||
*
|
||
PRN "DONE!",8D8D
|
||
JMP REENTRY
|
||
*
|
||
********************************
|
||
* *
|
||
* VARIABLES *
|
||
* *
|
||
********************************
|
||
*
|
||
BNAME DS 20
|
||
TNAME DS 20
|
||
BLOC DS 10
|
||
LINE DS 40
|
||
HEAD ASC "REM ** THIS FILES BLOADS",8D
|
||
ASC "REM ** A BINARY PROGRAM INTO",8D
|
||
ASC "REM ** MEMORY THEN EXECUTES IT",8D
|
||
ASC "REM ** VIA THE MONITOR. THIS IS",8D
|
||
ASC "REM ** NECESSARY FOR CERTAIN ",8D
|
||
ASC "REM ** EXECUTABLES THAT USE APPLESOFT",8D
|
||
ASC "REM ** ROUTINES.",8D
|
||
ASC "REM **",8D00
|
||
*
|
||
********************************
|
||
* *
|
||
* LOW-LEVEL ROUTINES *
|
||
* *
|
||
********************************
|
||
*
|
||
PUT MIN.LIB.REQUIRED
|
||
*
|
||
** INDIVIDUAL SUBROUTINES
|
||
*
|
||
*** FILEIO
|
||
*
|
||
PUT MIN.SUB.FPRINT
|
||
PUT MIN.SUB.DOSCMD
|
||
PUT MIN.SUB.FPSTR
|
||
*
|
||
*** STDIO
|
||
*
|
||
PUT MIN.SUB.DPRINT
|
||
PUT MIN.SUB.XPRINT
|
||
PUT MIN.SUB.SINPUT
|
||
*
|
||
*** STRINGS
|
||
*
|
||
PUT MIN.SUB.STRCAT
|
||
PUT MIN.SUB.PRNSTR
|
||
*
|
||
|