#include <stdio.h>
#include <dos.h>
extern unsigned char screen_fuzz;
struct i89_channel_parameter_block {
void far * tbp;
};
struct i89_channel {
unsigned char ccw;
unsigned char busy;
struct i89_channel_parameter_block far * ppb;
unsigned int reserved;
};
struct screenfuzz_parameter_block {
struct i89_channel_parameter_block cpb;
unsigned int far * screen_mem;
};
struct screenfuzz_parameter_block fuzz_cpb = {
{ &screen_fuzz },
0,
};
int main(int argc, char* argv) {
struct i89_channel far * ccb = (struct i89_channel *) MK_FP(0x0000, 0x0500);
printf("channel 1 busy %02x\n", ccb[0].busy);
printf("channel 2 busy %02x\n", ccb[1].busy);
ccb[1].ccw = 0x23;
ccb[1].ppb = &(fuzz_cpb.cpb);
fuzz_cpb.screen_mem = (unsigned int far *) MK_FP(0xF000,0x0000);
outportb(0x72, 0);
printf("channel 1 busy %02x\n", ccb[0].busy);
printf("channel 2 busy %02x\n", ccb[1].busy);
}