view level1/modules/dwwrmess.asm @ 2730:6bd6e348665d

Working on cloned default branch, pulled 2012/11/03 user: gheskett@wdtv.com branch 'default' changed ChangeLog changed ReadMe changed defs/rbf.d changed defs/rbsuper.d changed defs/scsi.d changed level1/atari/cmds/fuji.asm changed level1/coco/modules/makefile changed level1/modules/boot_scsi.asm changed level1/modules/superdesc.asm changed level2/coco3/bootfiles/makefile changed level2/coco3/modules/makefile changed level2/coco3_6309/bootfiles/makefile changed level2/modules/joydrv_6551L.asm changed rules.mak
author gheskett@wdtv.com
date Sat, 10 Nov 2012 11:55:48 -0500
parents c92a6c65bbd9
children c505ae3120c4
line wrap: on
line source

*******************************************************
*
* DWWriteMESS
*  
*  4/27/10 AAW - Based on John Linville's example
*
* Entry:
*    X  = starting address of data to send
*    Y  = number of bytes to send
*
* Exit:
*    X  = address of last byte sent + 1
*    Y  = 0
*    All others preserved
*


DWWrite   pshs      u,d,cc              ; preserve registers
          orcc      #$50                ; mask interrupts

txByte   ldb       ,x+                 ; get a byte to transmit
         stb       $ffe0               ; write it to the FIFO
         leay      ,-y                ; decrement byte counter
         bne       txByte              ; loop if more to send          
          
          puls      cc,d,u,pc           ; restore registers and return