2024-09-16 20:52:18 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
2024-09-17 20:10:00 +00:00
|
|
|
#define D_MIDIBITMAP
|
|
|
|
|
2024-09-16 20:52:18 +00:00
|
|
|
class Assigner {
|
2024-09-17 19:28:50 +00:00
|
|
|
public:
|
2024-09-16 20:52:18 +00:00
|
|
|
uint8_t ram[256];
|
2024-09-17 19:28:50 +00:00
|
|
|
uint16_t a = 0, b = 0, c = 0, eal = 0, eah = 0;
|
2024-09-16 20:52:18 +00:00
|
|
|
uint32_t bc, de, hl, ea = 0;
|
|
|
|
|
2024-09-17 20:10:00 +00:00
|
|
|
void noteOn(uint8_t c);
|
2024-09-17 09:21:02 +00:00
|
|
|
void voiceOn();
|
|
|
|
void resetVoices();
|
2024-09-17 20:10:00 +00:00
|
|
|
// void clearNotes();
|
|
|
|
// void assignNote();
|
2024-09-16 20:52:18 +00:00
|
|
|
|
2024-09-17 20:10:00 +00:00
|
|
|
private:
|
|
|
|
uint8_t bitMask[24] = {
|
|
|
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
|
|
|
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
|
|
|
|
0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
|
2024-09-16 20:52:18 +00:00
|
|
|
};
|