/* vml.c - GENERATED by build-ml.ps1 from vrow.s. Do not edit by hand. * * The machine code row painter, kept as a byte array and called in place * through sys(). It is position independent; its parameters go through zero * page scratch $22-$28, which Power C leaves to ML routines. */ char mlcode[76] = { 165, 40, 9, 32, 160, 39, 145, 37, 136, 16, 251, 160, 0, 196, 36, 240, 45, 177, 34, 201, 32, 176, 2, 169, 32, 201, 192, 144, 4, 233, 128, 176, 22, 201, 160, 144, 4, 233, 64, 176, 14, 201, 96, 144, 4, 233, 32, 176, 6, 201, 64, 144, 2, 233, 64, 5, 40, 145, 37, 200, 208, 207, 165, 39, 201, 255, 240, 7, 168, 177, 37, 73, 128, 145, 37, 96 }; /* nothing to install: the code runs where the array sits */ mlinit() { return 0; } /* paint the screen row at address dst: len bytes from src, cursor at column cur (255 = none), rev = 128 for an all reverse row */ mlrow(src, len, dst, cur, rev) unsigned src, dst; int len, cur, rev; { char *p; char a, x, y; p = (char *) 0x22; p[0] = src & 255; p[1] = src >> 8; p[2] = len; p[3] = dst & 255; p[4] = dst >> 8; p[5] = cur; p[6] = rev; a = 0; x = 0; y = 0; sys((unsigned) mlcode, &a, &x, &y); /* c64 form: no bank argument */ return 0; }