home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-04-09 | 3.0 KB | 121 lines | [04] ASCII Text (0x0000) |
- ;*==============================================================
- ;* ML.INTEGRATOR - integrates basic pgm and ml code @ $804
- ;* from NIBBLE, April 1990, (c) 1990 Stephen M. Hall, Mindcraft
- ;*==============================================================
- ;
- ORG $0801
- ;
- TXTTAB EQU $67
- BUF EQU $200
- DOSVEC EQU $3D0
- RUN EQU $D566
- ;
- ;*===========*
- ;* SECTION 1 *
- ;*===========*
- ;
- BGN JMP STARTUP ; *** SEE SECTION 4 ***
- ;
- ;*===========================================*
- ;* YOUR MACHINE LANGUAGE SUBROUTINES GO HERE *
- ;*===========================================*
- ;
- ;
- ;
- ;
- ;*===========*
- ;* SECTION 2 *
- ;*===========*
- ;this can be called at end of BASIC program using CALL 2049
- ;
- QUIT LDA #<BGN
- STA TXTTAB+1
- LDA #>BGN
- STA TXTTAB
- LDA #$00
- STA BGN
- STA BGN+1
- STA BGN+2
- JMP DOSVEC
- ;
- ;*===========*
- ;* SECTION 3 *
- ;*===========*
- ;this section gets written over by your BASIC program
- ;only used if running under DOS 3.3 - it is a one line program
- ;
- PGRM BRK
- DW PGRM1
- DW $000A
- DFB $BA ;TOKEN FOR PRINT
- DFB $22,$04 ;"ctrl-D
- ;
- ;*** EDASM SETS HI BIT OF ASCII CHARACTERS - WE'LL GET RID OF THEM LATER
- RUNCMD ASC 'RUN '
- ASC 'PROGRAM.NAME' ;CHANGE TO YOUR BASIC PGM NAME
- ;
- DFB $00 ;MARKER FOR END OF STATEMENT
- PGRM1 BRK
- BRK
- ;
- ;*===========*
- ;* SECTION 4 *
- ;*===========*
- ;set up ptrs to new program and vector to quit exit
- ;
- STARTUP LDA #<PGRM+1
- STA TXTTAB+1
- LDA #>PGRM+1
- STA TXTTAB
- LDA #<QUIT
- STA BGN+2
- LDA #>QUIT
- STA BGN+1
- ;
- ; you can add extra stuff here
- ; ex: &vectors, reset vectors, interface initialization, welcome message
- ;
- ;*===========*
- ;* SECTION 5 *
- ;*===========*
- ;used to run the basic program from PRODOS - setup filename at bottom
- ;
- LDA $BF00
- CMP #$4C
- BNE NOPRODOS
- LDX CMD
- INX
- LDA #$8D
- STR STA BUF-1,X
- DEX
- BMI RUNPRO
- LDA CMD,X
- JMP STR
- ;
- RUNPRO JSR $BE03 ;BI VECTOR
- LDA $BE0F ;IF ERROR
- JSR $BE0C ;PRINT MSG
- RTS
- ;
- ; ***================================***
- ; *** SET UP PRODOS RUN COMMAND HERE ***
- ; ***================================***
- ;
- CMD DFB 16 ; LENGTH OF STRING BELOW
- ASC 'RUN PROGRAM.NAME' ; (EDASM SETS HI BITS FOR US)
- ;
- ; ***-----------------***
- ; *** DOS 3.3 ROUTINE ***
- ; ***-----------------***
- NOPRODOS LDX #$00 ;FOR DOS 3.3, CONVERT PGM NAME TO
- ASCLOOP LDA RUNCMD,X ;ASCII WITH HI BIT CLEAR.
- BEQ RUNIT
- AND #$7F
- STA RUNCMD,X
- INX
- BNE ASCLOOP
- ;
- RUNIT JMP RUN
- BRK
- ;
-