mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2024-11-27 12:49:27 +00:00
9849dbb5ea
items in disk folder will be updated automatically, whereas items in the source folder will be updated periodically due to having to manually sort through files to copy and paste
181 lines
4.7 KiB
Plaintext
181 lines
4.7 KiB
Plaintext
*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*
|
|
* *
|
|
* COMMON.MAC *
|
|
* *
|
|
* AUTHOR: NATHAN RIGGS *
|
|
* CONTACT: NATHAN.RIGGS@ *
|
|
* OUTLOOK.COM *
|
|
* *
|
|
* VERSION: 0.1.2 *
|
|
* DATE: 30-OCT-2018 *
|
|
* ASSEMBLER: MERLIN 8 PRO *
|
|
* *
|
|
* LICENSE: APACHE 2.0 LICENSE, *
|
|
* WHERE APPLICABLE. CODE *
|
|
* INSPIRED BY OR COPIED FROM *
|
|
* OTHERS MAY FALL UNDER A *
|
|
* DIFFERENT LICENSE. I WILL *
|
|
* DO MY BEST TO NOTIFY SUCH *
|
|
* CASES. *
|
|
* *
|
|
*------------------------------*
|
|
* *
|
|
* THIS IS A MACRO LIBRARY FOR *
|
|
* COMMON.LIB, AND CAN BE USED *
|
|
* REGARDLESS OF WHETHER A *
|
|
* SPECIFIC FUNCTION IS *
|
|
* INCLUDED AS A PUT IN THE *
|
|
* MAIN SOURCE. *
|
|
* *
|
|
*------------------------------*
|
|
* *
|
|
* LIST OF MACROS *
|
|
* *
|
|
* _MFIL :: FILL MEMORY BLOCK *
|
|
* _MMOV :: MOVE MEMORY BLOCK *
|
|
* _BELL :: RING MY BELL *
|
|
* _DLAY :: DELAY IN MILLISECS *
|
|
* _ZSV :: SAVE FREE ZERO PAGE *
|
|
* _ZLD :: LOAD SAVE ZERO PAGE *
|
|
* *
|
|
*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*
|
|
*
|
|
*``````````````````````````````*
|
|
* _MFIL :: FILL MEMORY BLOCK *
|
|
*- -*
|
|
* FILL BLOCK OF MEMORY WITH *
|
|
* SPECIFIED VALUE. *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* *
|
|
* PARAM1 = STARTING ADDRESS *
|
|
* PARAM2 = LENGTH IN BYTES *
|
|
* PARAM3 = FILL VALUE *
|
|
*- -*
|
|
* SAMPLE USAGE: *
|
|
* _MFIL $300;#256;#0 *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_MFIL MAC
|
|
LDA #>]1 ; STARTING POINT
|
|
PHA
|
|
LDA #<]1
|
|
PHA
|
|
LDA #>]2 ; # OF BYTES
|
|
PHA
|
|
LDA #<]2
|
|
PHA
|
|
LDA ]3 ; FILL VALUE
|
|
PHA
|
|
JSR MEMFILL
|
|
<<<
|
|
*
|
|
*``````````````````````````````*
|
|
* _BELL :: RING BELL X TIMES -*
|
|
*- -*
|
|
* RING THE STANDARD BELL. *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* *
|
|
* PARAM1 = NUMBER OF RINGS *
|
|
*- -*
|
|
* SAMPLE USAGE: _BELL *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_BELL MAC
|
|
LUP ]1
|
|
JSR BELL
|
|
--^
|
|
<<<
|
|
*
|
|
*``````````````````````````````*
|
|
* _MMOV :: MOVE MEMORY BLOCK -*
|
|
*- -*
|
|
* MOVE A BLOCK OF MEMORY FROM *
|
|
* A SOURCE TO DESTINATION. *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* PARAM1 = SOURCE ADDRESS *
|
|
* PARAM2 = DESTINATION ADDRESS *
|
|
* PARAM3 = NUMBER OF BYTES *
|
|
*- -*
|
|
* SAMPLE USAGE: *
|
|
* *
|
|
* _MMOV $6A00;$7B00;#1024 *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_MMOV MAC
|
|
LDA #>]1 ; SRC ADDR
|
|
PHA
|
|
LDA #<]1
|
|
PHA
|
|
LDA #>]2 ; DEST ADDR
|
|
PHA
|
|
LDA #<]2
|
|
PHA
|
|
LDA #>]3 ; # OF BYTES
|
|
PHA
|
|
LDA #<]3
|
|
PHA
|
|
JSR MEMMOVE
|
|
<<<
|
|
*
|
|
*``````````````````````````````*
|
|
* _DLAY :: DELAY X MILLISECS *
|
|
*- -*
|
|
* DELAY FOR PASSED MILLISECS *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* *
|
|
* PARAM1 = NUM OF MILLISECONDS *
|
|
*- -*
|
|
* SAMPLE USAGE: _DLAY #250 *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_DLAY MAC
|
|
LDY ]1
|
|
JSR DELAYMS
|
|
<<<
|
|
*
|
|
*``````````````````````````````*
|
|
* _ZSV :: SAVE ZERO PAGE *
|
|
*- -*
|
|
* SAVE ZERO PAGE FREE AREAS *
|
|
* FOR LATER RESTORE. *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* *
|
|
* PARAM1 = ADDRESS TO STORE AT *
|
|
*- -*
|
|
* SAMPLE USAGE: _ZSV $300 *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_ZSV MAC
|
|
LDA #>]1
|
|
PHA
|
|
LDA #<]1
|
|
PHA
|
|
JSR ZSAVE
|
|
<<<
|
|
*
|
|
*``````````````````````````````*
|
|
* _ZLD :: LOAD ZERO PAGE *
|
|
*- -*
|
|
* RESTORE PREVIOUSLY SAVED *
|
|
* FREE ZERO PAGE VALUES. *
|
|
*- -*
|
|
* PARAMETERS: *
|
|
* *
|
|
* PARAM1 = ADDR TO LOAD FROM *
|
|
*- -*
|
|
* SAMPLE USAGE: _ZLD $300 *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
_ZLD MAC
|
|
LDA #>]1
|
|
PHA
|
|
LDA #<]1
|
|
PHA
|
|
JSR ZLOAD
|
|
<<<
|