Mercurial > hg > Members > kono > nitros9-code
view lib/alib/ftrans.as @ 2811:611715587834 lwtools-port
Updated rules.mak and level1/coco1/bootfiles/makefile
Updated the rules.mak file to remove the format entire image related
to drivewire server disk images.
Updated level1/coco1/bootfiles/makefile to create 3 new bootfile images.
These images are stripped down to just the common files needed
for vovdg games on os9 level 1. These bootfiles are for becker, dw,
and arduino. Also corrected a duplicated dd descriptor when building
some bootfiles that had both floppy_40d, floppy_80d, RBDW, RBBECKER,
and RBARDUINO. Removed the dd descriptor from each of these sections
and made it where the dd descriptor for the specific section was added
in the main bootfile list.
author | David Ladd <drencor-xeen@users.sf.net> |
---|---|
date | Mon, 11 Feb 2013 20:16:24 -0600 |
parents | 03f26e88b809 |
children |
line wrap: on
line source
*************************************** * Subroutine to transfer data for one file to another * OTHER MODULES NEEDED: none * ENTRY: A=source path * B=destination path * Y=number of bytes to transfer * X=buffer for this routine * U=buffer size * EXIT: CC carry set if error (from I$Read or I$Write) * B error code if any nam File data transfer ttl Assembler Library Module section .data * this sets up a stack frame used for variable references count rmb 2 number of bytes to transfer (2nd Y) inpath rmb 1 source file (A) Breg rmb 1 copy of B register outpath equ Breg dest file buffer rmb 2 buffer memory (X) rmb 2 copy of Y bufsize rmb 2 buffer size (U) endsect section .text FTRANS: pshs a,b,x,y,u pshs y loop ldy count,s bytes left to send beq exit all done? lda inpath,s source file ldx buffer,s buffer area cmpy bufsize,s is remainder > buffer size blo get no, get all of remainder ldy bufsize,s use buffer size get os9 I$Read get data bcs error lda outpath,s os9 I$Write bcs error pshs y number of bytes got/sent ldd count+2,s adjust count remaining subd ,s++ std count,s bra loop exit clra no error bra exit2 error coma signal error stb Breg,s set B exit2 puls y puls a,b,x,y,u,pc endsect