more command stream work

including a disassembler, large stack, and some other things
This commit is contained in:
tildearrow 2025-04-05 03:19:44 -05:00
parent 39ea7e6da0
commit f7c2fce461
5 changed files with 150 additions and 13 deletions

View file

@ -39,7 +39,7 @@ struct DivCSChannelState {
int portaTarget, portaSpeed;
unsigned char arp, arpStage, arpTicks, loopCount;
unsigned int callStack[8];
unsigned int callStack[16];
unsigned char callStackPos;
unsigned int trace[DIV_MAX_CSTRACE];
@ -83,12 +83,14 @@ class DivCSPlayer {
unsigned char fastDelays[16];
unsigned char fastCmds[16];
unsigned char arpSpeed;
unsigned int fileChans;
short vibTable[64];
public:
unsigned char* getData();
size_t getDataLen();
DivCSChannelState* getChanState(int ch);
unsigned int getFileChans();
unsigned char* getFastDelays();
unsigned char* getFastCmds();
void cleanup();
@ -101,4 +103,9 @@ class DivCSPlayer {
stream(buf,len) {}
};
// command stream utilities
namespace DivCS {
int getInsLength(unsigned char ins, unsigned char ext=0);
};
#endif