add rp6502 target
This commit is contained in:
31
libsrc/rp6502/write.c
Normal file
31
libsrc/rp6502/write.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (c) 2023 Rumbledethumps
|
||||
*
|
||||
* SPDX-License-Identifier: Zlib
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
* SPDX-License-Identifier: Unlicense
|
||||
*/
|
||||
|
||||
#include <rp6502.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int __fastcall__ write(int fildes, const void *buf, unsigned count)
|
||||
{
|
||||
int ax, total = 0;
|
||||
while (count)
|
||||
{
|
||||
int blockcount = (count > 256) ? 256 : count;
|
||||
ax = write_xstack(&((char *)buf)[total], blockcount, fildes);
|
||||
if (ax < 0)
|
||||
{
|
||||
return ax;
|
||||
}
|
||||
total += ax;
|
||||
count -= ax;
|
||||
if (ax < blockcount)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return total;
|
||||
}
|
||||
Reference in New Issue
Block a user