From acbfe3e19de1e0c04b521add07f75b1c2a562c9f Mon Sep 17 00:00:00 2001 From: Scott Duensing Date: Sun, 7 Jan 2024 17:10:41 -0600 Subject: [PATCH] Checking in the latest broken DMA code. --- examples/cube/sin.c | 22 ++++++++++++++++++++++ examples/pgztest/build.sh | 4 ++-- examples/pgztest/pgztest.c | 31 +++++++++++++++---------------- f256lib/bitmap.c | 16 +++++++++++++--- f256lib/dma.c | 26 +++++++++++++++++++++++++- f256lib/dma.h | 1 + f256lib/f256.c | 25 ++++++++++++++++++++++--- f256lib/f256.h | 23 +++++++++++++++-------- f256lib/text.h | 3 --- 9 files changed, 115 insertions(+), 36 deletions(-) create mode 100644 examples/cube/sin.c diff --git a/examples/cube/sin.c b/examples/cube/sin.c new file mode 100644 index 0000000..d547dc6 --- /dev/null +++ b/examples/cube/sin.c @@ -0,0 +1,22 @@ +#include +#include +#include + +#define FIX_PREC 9 +#define TO_FIX(x) ((int32_t)((x)*(1< ${SETTINGS} -CLANG="mos-f256k-clang -I${F256}/include -I${F256}/f256lib -Os -fno-inline" +CLANG="mos-f256k-clang -I${F256}/include -I${F256}/f256lib -Os" ${CLANG} -c ${F256}/f256lib/f256.c ${CLANG} -c pgztest.c -${CLANG} -o pgztest pgztest.o f256.o +${CLANG} -o pgztest pgztest.o f256.o mv -f pgztest pgztest.bin diff --git a/examples/pgztest/pgztest.c b/examples/pgztest/pgztest.c index b2231c0..d0b1f7d 100644 --- a/examples/pgztest/pgztest.c +++ b/examples/pgztest/pgztest.c @@ -41,20 +41,13 @@ void bitmap(void) { bitmapReset(); bitmapGetResolution(&mx, &my); - mx--; - my--; for (l=0; lmember) #define EVENT(member) (size_t)(&((struct events *)0)->member) #define CALL(fn) \ -asm("jsr %[addy] \n" \ - "stz %[err] \n" \ - "ror %[err]" \ - : [err] "+m"(error) \ - : [addy] "i"(VECTOR(fn)) \ - : "a", "x", "y", "c", "v"); + asm("jsr %[addy] \n" \ + "stz %[err] \n" \ + "ror %[err]" \ + : [err] "+m"(error) \ + : [addy] "i"(VECTOR(fn)) \ + : "a", "x", "y", "c", "v"); extern struct event_t event; // The event struct is allocated in crt0. @@ -83,8 +89,9 @@ extern char error; void f256Init(void); -uint16_t rndRead(void); -void rndSeed(uint16_t seed); +uint16_t randomRead(void); +void randomSeed(uint16_t seed); +void waitVerticalBlank(void); #include "text.h" diff --git a/f256lib/text.h b/f256lib/text.h index 208552a..04cb292 100644 --- a/f256lib/text.h +++ b/f256lib/text.h @@ -34,9 +34,6 @@ extern "C" #include "f256.h" -#define TEXT_MATRIX 0xc000 // I/O Page 2 - - // Apple IIgs Colors, because that's how we roll. typedef enum textColorsE { BLACK = 0,