AppleIIAsm-Collection/disks/disk1__stdio_common/T.COMMON.MAC
nathanriggs 9849dbb5ea created disks folder
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
2018-11-03 14:59:24 -04:00

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
<<<