From 7ba0c167cba6799efc7ac370229417b95f081383 Mon Sep 17 00:00:00 2001 From: John Bintz Date: Sun, 22 Sep 2024 08:12:37 -0400 Subject: [PATCH] finish up video stuff --- 32x50 | Bin 0 -> 3684 bytes 32x50_bun.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 9 ++++++++ smakefile | 4 ++++ 4 files changed, 76 insertions(+) create mode 100755 32x50 create mode 100644 32x50_bun.c create mode 100644 README.md diff --git a/32x50 b/32x50 new file mode 100755 index 0000000000000000000000000000000000000000..d1d709a3eb1f46d6bec46d20b33b8491cb331ecf GIT binary patch literal 3684 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 Jia*=^{{k^`*WCaB literal 0 HcmV?d00001 diff --git a/32x50_bun.c b/32x50_bun.c new file mode 100644 index 0000000..f5582e0 --- /dev/null +++ b/32x50_bun.c @@ -0,0 +1,63 @@ +/** +* What do we need +* * [ ] screen setup +*/ + +#include + +#include "system/system.h" +#include "system/copper.h" + +#include "screen.h" + +extern struct Custom far custom; + +uint16_t custom_color = (uint16_t)offsetof(Custom, color); +uint16_t custom_sprite = (uint16_t)offsetof(Custom, sprpt); +uint16_t custom_sprite_control = (uint16_t)offsetof(Custom, spr); + +int main(void) { + struct ScreenDefinition screenDefinition; + struct ActiveScreenBufferDetails activeScreenBufferDetails; + uint16_t *copperlist, *currentCopperlist; + void *copperlistBitplanePointers[8][2]; + int i; + + allocateDoubleBufferedScreenMemory( + &screenDefinition, + &activeScreenBufferDetails, + 320, + 256, + 2 + ); + + copperlist = prepareNewCopperlist(300); + + currentCopperlist = addDisplayToCopperlist( + copperlist, + &screenDefinition, + &activeScreenBufferDetails, + &copperlistBitplanePointers + ); + + COPPERLIST_MOVE(currentCopperlist, custom_color, 0x3a6); + COPPERLIST_MOVE(currentCopperlist, custom_color + 2, 0x000); + COPPERLIST_MOVE(currentCopperlist, custom_color + 4, 0xfff); + + endCopperlist(currentCopperlist); + + takeOverSystem(); + + setCopperlist(copperlist); + setUpDisplay((uint32_t)screenDefinition.bitplanes); + + for (i = 0; i < 100000; ++i) { + + } + + giveBackSystem(); + + freeCopperlist(copperlist); + + teardownScreen(&screenDefinition); +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..7245da2 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +## Building + +### Vamos + +You'll want Vamos and SAS/C on Vamos's path: + +``` +ruby ./image_converter.rb && touch images.s && vamos -- smake +``` diff --git a/smakefile b/smakefile index 5f663d9..5a5cf93 100644 --- a/smakefile +++ b/smakefile @@ -1,4 +1,5 @@ MAIN_OBJS = main.o images.o system.lib screen.o bun.o +32_objs = 32x50_bun.o system.lib screen.o all: main @@ -14,6 +15,9 @@ system.lib: system/system.o system/copper.o system/blitter.o system/debug.o main: $(MAIN_OBJS) sc link to main math=standard $(MAIN_OBJS) +32x50: $(32_objs) + sc link to 32x50 $(32_objs) + test: bun_test.o bun.o sc link to bun_test identifierlength=32 math=standard bun_test.o bun.o cutest/CuTest.c