finish up video stuff
This commit is contained in:
parent
bd47027b4a
commit
7ba0c167cb
|
@ -0,0 +1,63 @@
|
||||||
|
/**
|
||||||
|
* What do we need
|
||||||
|
* * [ ] screen setup
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <hardware/custom.h>
|
||||||
|
|
||||||
|
#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);
|
||||||
|
}
|
|
@ -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
|
||||||
|
```
|
|
@ -1,4 +1,5 @@
|
||||||
MAIN_OBJS = main.o images.o system.lib screen.o bun.o
|
MAIN_OBJS = main.o images.o system.lib screen.o bun.o
|
||||||
|
32_objs = 32x50_bun.o system.lib screen.o
|
||||||
|
|
||||||
all: main
|
all: main
|
||||||
|
|
||||||
|
@ -14,6 +15,9 @@ system.lib: system/system.o system/copper.o system/blitter.o system/debug.o
|
||||||
main: $(MAIN_OBJS)
|
main: $(MAIN_OBJS)
|
||||||
sc link to main math=standard $(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
|
test: bun_test.o bun.o
|
||||||
sc link to bun_test identifierlength=32 math=standard bun_test.o bun.o cutest/CuTest.c
|
sc link to bun_test identifierlength=32 math=standard bun_test.o bun.o cutest/CuTest.c
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue