cool-bun-demo/system/copper.c

35 lines
612 B
C

#include "copper.h"
#include "system.h"
#include <clib/exec_protos.h>
#include <exec/memory.h>
#include <hardware/custom.h>
extern struct Custom far custom;
uint16_t copperlistSize;
uint16_t * prepareNewCopperlist(uint16_t size_b) {
uint16_t *copperlist;
copperlistSize = size_b;
copperlist = AllocMem(
copperlistSize,
MEMF_CHIP | MEMF_CLEAR
);
initializeCopperlist(copperlist);
return copperlist;
}
void setCopperlist(uint16_t *copperlist) {
custom.cop1lc = copperlist;
custom.copjmp1 = 1;
}
void freeCopperlist(uint16_t *copperlist) {
FreeMem(copperlist, copperlistSize);
}