mirror of https://github.com/datajerk/c2d.git
completely removed all hacks for scratchpad ram, loader and bar asm only write to text RAM, no scratchpad ram.
This commit is contained in:
parent
a191c5cd81
commit
249e6c2600
30
Makefile
30
Makefile
|
@ -10,16 +10,16 @@ dist: all windows
|
||||||
c2d.h: c2d.h.0 asm/loader.s asm/bar.s makeheader
|
c2d.h: c2d.h.0 asm/loader.s asm/bar.s makeheader
|
||||||
./makeheader
|
./makeheader
|
||||||
|
|
||||||
bin/c2d: c2d.c c2d.h holes.h
|
bin/c2d: c2d.c c2d.h
|
||||||
gcc -Wall -Wno-missing-braces -I. -O3 -o $@ $< -lm
|
gcc -Wall -Wno-missing-braces -I. -O3 -o $@ $< -lm
|
||||||
|
|
||||||
bin/c2d.exe: c2d.c c2d.h holes.h
|
bin/c2d.exe: c2d.c c2d.h
|
||||||
$(WIN32GCC) -Wall -Wno-missing-braces -I. -O3 -o $@ $<
|
$(WIN32GCC) -Wall -Wno-missing-braces -I. -O3 -o $@ $<
|
||||||
|
|
||||||
bin/text2page: text2page.c holes.h
|
bin/text2page: text2page.c
|
||||||
gcc -Wall -O3 -o $@ $< -lm
|
gcc -Wall -O3 -o $@ $< -lm
|
||||||
|
|
||||||
bin/text2page.exe: text2page.c holes.h
|
bin/text2page.exe: text2page.c
|
||||||
$(WIN32GCC) -Wall -O3 -o $@ $<
|
$(WIN32GCC) -Wall -O3 -o $@ $<
|
||||||
|
|
||||||
bin/page2text: page2text.c
|
bin/page2text: page2text.c
|
||||||
|
@ -28,6 +28,9 @@ bin/page2text: page2text.c
|
||||||
bin/page2text.exe: page2text.c
|
bin/page2text.exe: page2text.c
|
||||||
$(WIN32GCC) -Wall -O3 -o $@ $<
|
$(WIN32GCC) -Wall -O3 -o $@ $<
|
||||||
|
|
||||||
|
bin/mandelbrotgr: mandelbrotgr.c
|
||||||
|
gcc -Wall -O3 -o $@ $< -lm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f bin/* *.dsk c2d.h c2d.h.1
|
rm -f bin/* *.dsk c2d.h c2d.h.1
|
||||||
(cd asm; make clean)
|
(cd asm; make clean)
|
||||||
|
@ -61,15 +64,26 @@ barloader.text: Makefile
|
||||||
barloader.textpage: barloader.text bin/text2page
|
barloader.textpage: barloader.text bin/text2page
|
||||||
bin/text2page <$< >$@
|
bin/text2page <$< >$@
|
||||||
|
|
||||||
gameserverclientbar.dsk: barloader.textpage gameserverclient bin/c2d
|
gameserverclientbar.dsk: barloader.textpage gameserverclient bin/c2d Makefile
|
||||||
bin/c2d -b -t $< gameserverclient,800 $@
|
bin/c2d -b -t $< gameserverclient,800 $@
|
||||||
|
|
||||||
fulltest: gameserverclient gameserverclient.mon gameserverclient.text dist
|
bargrloader.textpage: bin/mandelbrotgr
|
||||||
|
bin/mandelbrotgr >$@
|
||||||
|
|
||||||
|
gameserverclientbargr.dsk: bargrloader.textpage gameserverclient bin/c2d Makefile
|
||||||
|
bin/c2d -b -g -r 23 -t $< gameserverclient,800 $@
|
||||||
|
|
||||||
|
gameserverclient.dsk: gameserverclient bin/c2d Makefile
|
||||||
|
bin/c2d gameserverclient,800 $@
|
||||||
|
|
||||||
|
dsk: gameserverclient.dsk gameserverclientbar.dsk gameserverclientbargr.dsk
|
||||||
|
|
||||||
|
fulltest: gameserverclient gameserverclient.mon gameserverclient.text gameserverclient.tiff gameserverclientsplash.tiff test.sh test.scrp dist
|
||||||
EMU=1 WIN=1 ./test.sh
|
EMU=1 WIN=1 ./test.sh
|
||||||
|
|
||||||
disttest: gameserverclient gameserverclient.mon gameserverclient.text dist
|
disttest: gameserverclient gameserverclient.mon gameserverclient.text test.sh dist
|
||||||
EMU=0 WIN=1 ./test.sh
|
EMU=0 WIN=1 ./test.sh
|
||||||
|
|
||||||
test: gameserverclient gameserverclient.mon gameserverclient.text all
|
test: gameserverclient gameserverclient.mon gameserverclient.text test.sh all
|
||||||
EMU=0 WIN=0 ./test.sh
|
EMU=0 WIN=0 ./test.sh
|
||||||
|
|
||||||
|
|
28
asm/bar.s
28
asm/bar.s
|
@ -21,7 +21,7 @@ rwts = $B7B5 ; rwts jsr
|
||||||
|
|
||||||
; vars
|
; vars
|
||||||
|
|
||||||
stage1 = $800
|
stage1 = $C00
|
||||||
stage2 = $300 ; $300 looks open
|
stage2 = $300 ; $300 looks open
|
||||||
invsp = $20 ; inverse space for draw
|
invsp = $20 ; inverse space for draw
|
||||||
trkcnt = $00 ; track counter
|
trkcnt = $00 ; track counter
|
||||||
|
@ -37,12 +37,32 @@ barptr = $06 ; bar pointer
|
||||||
|
|
||||||
grcheck:
|
grcheck:
|
||||||
lda *+(gr-loader)+(moved-grcheck)
|
lda *+(gr-loader)+(moved-grcheck)
|
||||||
beq text
|
beq movetext
|
||||||
lda #0 ; GR mode
|
lda #0 ; GR mode
|
||||||
sta $C050
|
sta $C050
|
||||||
sta $C053
|
sta $C053
|
||||||
text:
|
movetext:
|
||||||
|
ldx #0
|
||||||
|
movetx:
|
||||||
|
lda $800,x
|
||||||
|
sta $400,x
|
||||||
|
lda $880,x
|
||||||
|
sta $480,x
|
||||||
|
lda $900,x
|
||||||
|
sta $500,x
|
||||||
|
lda $980,x
|
||||||
|
sta $580,x
|
||||||
|
lda $A00,x
|
||||||
|
sta $600,x
|
||||||
|
lda $A80,x
|
||||||
|
sta $680,x
|
||||||
|
lda $B00,x
|
||||||
|
sta $700,x
|
||||||
|
lda $B80,x
|
||||||
|
sta $780,x
|
||||||
|
inx
|
||||||
|
cpx #120
|
||||||
|
bne movetx ; move 120 bytes
|
||||||
init:
|
init:
|
||||||
lda #0 ; reset pointer and counter
|
lda #0 ; reset pointer and counter
|
||||||
sta barcnt
|
sta barcnt
|
||||||
|
|
|
@ -19,7 +19,6 @@ rwts = $B7B5 ; rwts jsr
|
||||||
; vars
|
; vars
|
||||||
|
|
||||||
stage1 = $C00
|
stage1 = $C00
|
||||||
;stage2 = $B600 ; overwrite track 0/sector 0, not needed any more?
|
|
||||||
stage2 = $300 ; $300 looks open
|
stage2 = $300 ; $300 looks open
|
||||||
;;;run time
|
;;;run time
|
||||||
trkcnt = $00 ; track counter
|
trkcnt = $00 ; track counter
|
||||||
|
|
Binary file not shown.
BIN
bin/c2d.exe
BIN
bin/c2d.exe
Binary file not shown.
Binary file not shown.
BIN
bin/text2page
BIN
bin/text2page
Binary file not shown.
Binary file not shown.
26
c2d.c
26
c2d.c
|
@ -41,7 +41,6 @@ Bugs:
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include "c2d.h"
|
#include "c2d.h"
|
||||||
#include "holes.h"
|
|
||||||
|
|
||||||
#define VERSION "Version 0.57"
|
#define VERSION "Version 0.57"
|
||||||
#define INFILE argv[argc-2]
|
#define INFILE argv[argc-2]
|
||||||
|
@ -56,7 +55,7 @@ char *getext(char *filename);
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
FILE *ifp, *ofp;
|
FILE *ifp, *ofp;
|
||||||
int c, i, j, k, start = 0, loadaddress, inputtype, warm = 0, filesize = 0, unpatch = 0;
|
int c, i, j, k, start = 0, loadaddress, inputtype, warm = 0, filesize = 0;
|
||||||
int loaderstart, loader = 0, loadersize = 0, loaderbasesize = 0, textpagesize = 0;
|
int loaderstart, loader = 0, loadersize = 0, loaderbasesize = 0, textpagesize = 0;
|
||||||
int bar = 0, row = 19, gr = 0;
|
int bar = 0, row = 19, gr = 0;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
@ -64,7 +63,7 @@ int main(int argc, char **argv)
|
||||||
char *ext, filename[256], load_address[10], *textpage = NULL;
|
char *ext, filename[256], load_address[10], *textpage = NULL;
|
||||||
|
|
||||||
opterr = 1;
|
opterr = 1;
|
||||||
while ((c = getopt(argc, argv, "gr:t:vmh?s:ub")) != -1)
|
while ((c = getopt(argc, argv, "gr:t:vmh?s:b")) != -1)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 't': // load a splash page while loading binary
|
case 't': // load a splash page while loading binary
|
||||||
loader = 1;
|
loader = 1;
|
||||||
|
@ -86,9 +85,6 @@ int main(int argc, char **argv)
|
||||||
if (row > 23)
|
if (row > 23)
|
||||||
row = 23;
|
row = 23;
|
||||||
break;
|
break;
|
||||||
case 'u':
|
|
||||||
unpatch = 1;
|
|
||||||
break;
|
|
||||||
case 'b':
|
case 'b':
|
||||||
bar = 1;
|
bar = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -229,20 +225,6 @@ int main(int argc, char **argv)
|
||||||
fread(&blank.track[1].sector[0].byte[0], textpagesize, 1, ifp);
|
fread(&blank.track[1].sector[0].byte[0], textpagesize, 1, ifp);
|
||||||
fclose(ifp);
|
fclose(ifp);
|
||||||
|
|
||||||
// patch holes
|
|
||||||
if(!unpatch) {
|
|
||||||
uint64_t *p = (uint64_t *)&blank.track[1].sector[0].byte[0]; // set to start of splash page
|
|
||||||
uint64_t *h = (uint64_t *)&holes; // holes are 64-bits
|
|
||||||
int i;
|
|
||||||
|
|
||||||
p -= 1; // back up virtual hole
|
|
||||||
|
|
||||||
for(i = 0; i < 8; i++) {
|
|
||||||
p += 16; // 3 lines x 40 columns + last hole / 8 (64-bit);
|
|
||||||
*p = *h++; // copy screen hole data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!bar) {
|
if(!bar) {
|
||||||
loaderbasesize = sizeof(loadercode);
|
loaderbasesize = sizeof(loadercode);
|
||||||
if ((loadersize = sizeof(loadercode)) > 256) {
|
if ((loadersize = sizeof(loadercode)) > 256) {
|
||||||
|
@ -302,10 +284,6 @@ int main(int argc, char **argv)
|
||||||
blank.track[1].sector[4].byte[loadersize + 8 + i] = i * num_sectors / bar_length;
|
blank.track[1].sector[4].byte[loadersize + 8 + i] = i * num_sectors / bar_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
// this version loads text page right into place, however can cause
|
|
||||||
// issues with scratchpad RAM
|
|
||||||
// loaderstart = 0x400;
|
|
||||||
// load here and move to 0x400 just the text data
|
|
||||||
loaderstart = 0x800;
|
loaderstart = 0x800;
|
||||||
|
|
||||||
// temp hack to effect the sound of the drive, i.e. to make consistent
|
// temp hack to effect the sound of the drive, i.e. to make consistent
|
||||||
|
|
84
c2d.h
84
c2d.h
|
@ -13,15 +13,15 @@ typedef struct d {
|
||||||
|
|
||||||
const char *usagetext="\n\
|
const char *usagetext="\n\
|
||||||
usage: c2d [-vh?]\n\
|
usage: c2d [-vh?]\n\
|
||||||
c2d [-bum] [-r row] [-t filename] [-s start address override] input[.mon],[load_address] output.dsk\n\
|
c2d [-bgm] [-r row] [-t filename] [-s start address override] input[.mon],[load_address] output.dsk\n\
|
||||||
\n\
|
\n\
|
||||||
-h|? this help\n\
|
-h|? this help\n\
|
||||||
-m jump to monitor after booting\n\
|
-m jump to monitor after booting\n\
|
||||||
-s XXXX jump to XXXX after booting\n\
|
-s XXXX jump to XXXX after booting\n\
|
||||||
-t filename, where filename is a 1K $400-$7FF text page splash screen\n\
|
-t filename, where filename is a 1K $400-$7FF text page splash screen\n\
|
||||||
The splash screen will display while the binary is loading\n\
|
The splash screen will display while the binary is loading\n\
|
||||||
-u do not patch screen holes\n\
|
|
||||||
-b animated loading bar (experimental)\n\
|
-b animated loading bar (experimental)\n\
|
||||||
|
-g splash page is mixed mode GR\n\
|
||||||
-r override row default of 19 with 'row'\n\
|
-r override row default of 19 with 'row'\n\
|
||||||
-v print version number and exit\n\
|
-v print version number and exit\n\
|
||||||
\n\
|
\n\
|
||||||
|
@ -9032,7 +9032,6 @@ rwts = $B7B5 ; rwts jsr
|
||||||
; vars
|
; vars
|
||||||
|
|
||||||
stage1 = $C00
|
stage1 = $C00
|
||||||
;stage2 = $B600 ; overwrite track 0/sector 0, not needed any more?
|
|
||||||
stage2 = $300 ; $300 looks open
|
stage2 = $300 ; $300 looks open
|
||||||
;;;run time
|
;;;run time
|
||||||
trkcnt = $00 ; track counter
|
trkcnt = $00 ; track counter
|
||||||
|
@ -9221,7 +9220,7 @@ rwts = $B7B5 ; rwts jsr
|
||||||
|
|
||||||
; vars
|
; vars
|
||||||
|
|
||||||
stage1 = $800
|
stage1 = $C00
|
||||||
stage2 = $300 ; $300 looks open
|
stage2 = $300 ; $300 looks open
|
||||||
invsp = $20 ; inverse space for draw
|
invsp = $20 ; inverse space for draw
|
||||||
trkcnt = $00 ; track counter
|
trkcnt = $00 ; track counter
|
||||||
|
@ -9237,12 +9236,32 @@ barptr = $06 ; bar pointer
|
||||||
|
|
||||||
grcheck:
|
grcheck:
|
||||||
lda *+(gr-loader)+(moved-grcheck)
|
lda *+(gr-loader)+(moved-grcheck)
|
||||||
beq text
|
beq movetext
|
||||||
lda #0 ; GR mode
|
lda #0 ; GR mode
|
||||||
sta $C050
|
sta $C050
|
||||||
sta $C053
|
sta $C053
|
||||||
text:
|
movetext:
|
||||||
|
ldx #0
|
||||||
|
movetx:
|
||||||
|
lda $800,x
|
||||||
|
sta $400,x
|
||||||
|
lda $880,x
|
||||||
|
sta $480,x
|
||||||
|
lda $900,x
|
||||||
|
sta $500,x
|
||||||
|
lda $980,x
|
||||||
|
sta $580,x
|
||||||
|
lda $A00,x
|
||||||
|
sta $600,x
|
||||||
|
lda $A80,x
|
||||||
|
sta $680,x
|
||||||
|
lda $B00,x
|
||||||
|
sta $700,x
|
||||||
|
lda $B80,x
|
||||||
|
sta $780,x
|
||||||
|
inx
|
||||||
|
cpx #120
|
||||||
|
bne movetx ; move 120 bytes
|
||||||
init:
|
init:
|
||||||
lda #0 ; reset pointer and counter
|
lda #0 ; reset pointer and counter
|
||||||
sta barcnt
|
sta barcnt
|
||||||
|
@ -9386,26 +9405,33 @@ bar:
|
||||||
end:
|
end:
|
||||||
*/
|
*/
|
||||||
unsigned char barcode[] = {
|
unsigned char barcode[] = {
|
||||||
0xAD,0xB0,0x08,0xF0,0x08,0xA9,0x00,0x8D,
|
0xAD,0xE7,0x0C,0xF0,0x08,0xA9,0x00,0x8D,
|
||||||
0x50,0xC0,0x8D,0x53,0xC0,0xA9,0x00,0x85,
|
0x50,0xC0,0x8D,0x53,0xC0,0xA2,0x00,0xBD,
|
||||||
0x05,0x85,0x06,0xA9,0x01,0xA0,0x0C,0x99,
|
0x00,0x08,0x9D,0x00,0x04,0xBD,0x80,0x08,
|
||||||
0xE8,0xB7,0xA9,0x00,0xA0,0x08,0x99,0xE8,
|
0x9D,0x80,0x04,0xBD,0x00,0x09,0x9D,0x00,
|
||||||
0xB7,0xA9,0x02,0x85,0x04,0xA2,0x00,0xBD,
|
0x05,0xBD,0x80,0x09,0x9D,0x80,0x05,0xBD,
|
||||||
0x35,0x08,0x9D,0x00,0x03,0xE8,0xE0,0xD0,
|
0x00,0x0A,0x9D,0x00,0x06,0xBD,0x80,0x0A,
|
||||||
0xD0,0xF5,0x4C,0x00,0x03,0xAD,0x78,0x03,
|
0x9D,0x80,0x06,0xBD,0x00,0x0B,0x9D,0x00,
|
||||||
0x85,0x02,0xAE,0x76,0x03,0xCA,0xCA,0x86,
|
0x07,0xBD,0x80,0x0B,0x9D,0x80,0x07,0xE8,
|
||||||
0x00,0xA5,0x04,0xA0,0x04,0x99,0xE8,0xB7,
|
0xE0,0x78,0xD0,0xCB,0xA9,0x00,0x85,0x05,
|
||||||
0xA5,0x00,0xD0,0x05,0xAD,0x77,0x03,0x10,
|
0x85,0x06,0xA9,0x01,0xA0,0x0C,0x99,0xE8,
|
||||||
0x02,0xA9,0x0F,0x85,0x03,0xA5,0x03,0xA0,
|
0xB7,0xA9,0x00,0xA0,0x08,0x99,0xE8,0xB7,
|
||||||
0x05,0x99,0xE8,0xB7,0xA5,0x02,0x18,0x65,
|
0xA9,0x02,0x85,0x04,0xA2,0x00,0xBD,0x6C,
|
||||||
0x03,0xA0,0x09,0x99,0xE8,0xB7,0xA0,0xE8,
|
0x0C,0x9D,0x00,0x03,0xE8,0xE0,0xD0,0xD0,
|
||||||
0xA9,0xB7,0x20,0xB5,0xB7,0xB0,0x39,0xA9,
|
0xF5,0x4C,0x00,0x03,0xAD,0x78,0x03,0x85,
|
||||||
0x00,0x85,0x48,0xE6,0x05,0xA6,0x06,0xBD,
|
0x02,0xAE,0x76,0x03,0xCA,0xCA,0x86,0x00,
|
||||||
0x7F,0x03,0xC5,0x05,0xD0,0x16,0xA5,0x06,
|
0xA5,0x04,0xA0,0x04,0x99,0xE8,0xB7,0xA5,
|
||||||
0x18,0x6D,0x7D,0x03,0x8D,0x5B,0x03,0xAD,
|
0x00,0xD0,0x05,0xAD,0x77,0x03,0x10,0x02,
|
||||||
0x7E,0x03,0x8D,0x5C,0x03,0xA9,0x20,0x8D,
|
0xA9,0x0F,0x85,0x03,0xA5,0x03,0xA0,0x05,
|
||||||
0x00,0x04,0xE6,0x06,0xC6,0x03,0x10,0xBD,
|
0x99,0xE8,0xB7,0xA5,0x02,0x18,0x65,0x03,
|
||||||
0xA5,0x02,0x18,0x69,0x10,0x85,0x02,0xE6,
|
0xA0,0x09,0x99,0xE8,0xB7,0xA0,0xE8,0xA9,
|
||||||
0x04,0xC6,0x00,0x10,0x9C,0x6C,0x79,0x03,
|
0xB7,0x20,0xB5,0xB7,0xB0,0x39,0xA9,0x00,
|
||||||
0x4C,0x69,0xFF
|
0x85,0x48,0xE6,0x05,0xA6,0x06,0xBD,0x7F,
|
||||||
|
0x03,0xC5,0x05,0xD0,0x16,0xA5,0x06,0x18,
|
||||||
|
0x6D,0x7D,0x03,0x8D,0x5B,0x03,0xAD,0x7E,
|
||||||
|
0x03,0x8D,0x5C,0x03,0xA9,0x20,0x8D,0x00,
|
||||||
|
0x04,0xE6,0x06,0xC6,0x03,0x10,0xBD,0xA5,
|
||||||
|
0x02,0x18,0x69,0x10,0x85,0x02,0xE6,0x04,
|
||||||
|
0xC6,0x00,0x10,0x9C,0x6C,0x79,0x03,0x4C,
|
||||||
|
0x69,0xFF
|
||||||
};
|
};
|
||||||
|
|
4
c2d.h.0
4
c2d.h.0
|
@ -13,15 +13,15 @@ typedef struct d {
|
||||||
|
|
||||||
const char *usagetext="\n\
|
const char *usagetext="\n\
|
||||||
usage: c2d [-vh?]\n\
|
usage: c2d [-vh?]\n\
|
||||||
c2d [-bum] [-r row] [-t filename] [-s start address override] input[.mon],[load_address] output.dsk\n\
|
c2d [-bgm] [-r row] [-t filename] [-s start address override] input[.mon],[load_address] output.dsk\n\
|
||||||
\n\
|
\n\
|
||||||
-h|? this help\n\
|
-h|? this help\n\
|
||||||
-m jump to monitor after booting\n\
|
-m jump to monitor after booting\n\
|
||||||
-s XXXX jump to XXXX after booting\n\
|
-s XXXX jump to XXXX after booting\n\
|
||||||
-t filename, where filename is a 1K $400-$7FF text page splash screen\n\
|
-t filename, where filename is a 1K $400-$7FF text page splash screen\n\
|
||||||
The splash screen will display while the binary is loading\n\
|
The splash screen will display while the binary is loading\n\
|
||||||
-u do not patch screen holes\n\
|
|
||||||
-b animated loading bar (experimental)\n\
|
-b animated loading bar (experimental)\n\
|
||||||
|
-g splash page is mixed mode GR\n\
|
||||||
-r override row default of 19 with 'row'\n\
|
-r override row default of 19 with 'row'\n\
|
||||||
-v print version number and exit\n\
|
-v print version number and exit\n\
|
||||||
\n\
|
\n\
|
||||||
|
|
Binary file not shown.
10
holes.h
10
holes.h
|
@ -1,10 +0,0 @@
|
||||||
unsigned char holes[] = {
|
|
||||||
0x37, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0x17, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xff, 0xff, 0x00, 0xd0, 0xff, 0xff, 0x00, 0x00,
|
|
||||||
0xc6, 0xff, 0x00, 0x07, 0xff, 0xff, 0x00, 0x00
|
|
||||||
};
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#include "holes.h"
|
|
||||||
|
|
||||||
#define MAX 15
|
#define MAX 15
|
||||||
#define NORMAL 0x80
|
#define NORMAL 0x80
|
||||||
|
@ -88,7 +87,7 @@ int main(int argc, char **argv)
|
||||||
putchar(screen[i][j]);
|
putchar(screen[i][j]);
|
||||||
if (i % 3 == 2)
|
if (i % 3 == 2)
|
||||||
for (k = 0; k < 8; k++)
|
for (k = 0; k < 8; k++)
|
||||||
putchar(holes[(i / 3) * 8 + k]);
|
putchar(0x0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
4
test.sh
4
test.sh
|
@ -60,7 +60,7 @@ then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SUM=7d509bcef9a53c89839a0622514955fd
|
SUM=df792a2715bb9f7b91aed94e19e5f46c
|
||||||
|
|
||||||
rm -f ${BIN}.dsk
|
rm -f ${BIN}.dsk
|
||||||
echo
|
echo
|
||||||
|
@ -158,7 +158,7 @@ rm -f ${BIN}.dsk
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SUM=7d509bcef9a53c89839a0622514955fd
|
SUM=df792a2715bb9f7b91aed94e19e5f46c
|
||||||
|
|
||||||
rm -f ${BIN}.dsk
|
rm -f ${BIN}.dsk
|
||||||
echo
|
echo
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "holes.h"
|
|
||||||
|
|
||||||
#define NORMAL 0x80
|
#define NORMAL 0x80
|
||||||
#define BLINK 0x40
|
#define BLINK 0x40
|
||||||
|
@ -39,7 +38,7 @@ int main()
|
||||||
putchar(screen[i][j]);
|
putchar(screen[i][j]);
|
||||||
if (i % 3 == 2)
|
if (i % 3 == 2)
|
||||||
for (k = 0; k < 8; k++)
|
for (k = 0; k < 8; k++)
|
||||||
putchar(holes[(i / 3) * 8 + k]);
|
putchar(0x0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue