games-request@tekred.TEK.COM (05/22/87)
Submitted by: Rich Burridge <munnari!sunk.oz!richb@seismo.css.gov> Comp.sources.games: Volume 1, Issue 24 Archive-name: sidtool/Patch2 [Before you flood my mailbox asking about Patch1, please remember that the version posted to comp.sources.games already had Patch1 applied before it was posted. -br] This is official patch #2 for sidtool. This patch does the following: +Bumps the patchlevel to 2. +Correctly resizes function key string array values in sid_stuff.c +Now uses perror for error conditions and exits with a positive number. +Fcloses the help file each time (was a problem in demomode). +Include code for the joystick interface. +Uses the default font if screen.r.14 is not available. +Finally fixes the function key reset problem (hopefully). +Tries to smooth out the speed of the game. +Move autoplay score to player 1's score position. +Displays direction icon at top of maze. To use the mouse as a joystick, simply move the mouse in the direction you want to go. The right hand button of the mouse can also be used to stop and start the game (^S / ^Q). It an attempt to smooth out the speed this might means some adjusting on other machines besides the 3/50, on which sidtool was tested. Rich. Rich Burridge, JANET richb%sunk.oz@uk.ac.ucl.cs ACSnet richb@sunk.oz UUCP {seismo,hplabs,ukc}!munnari!sunk.oz!richb PHONE: +61 3 811 9927 ARPAnet richb%sunk.oz@seismo.css.gov MAIL: Sun Microsystems, 123 Camberwell Rd, Hawthorn, VICTORIA 3122, AUST ------CUT HERE------CUT HERE------CUT HERE------ *** patchlevel.h.old Thu May 21 06:45:45 1987 --- patchlevel.h Thu May 21 06:48:05 1987 *************** *** 1 **** ! #define PATCHLEVEL 1 --- 1 ---- ! #define PATCHLEVEL 2 *** Makefile.old Thu May 21 08:55:48 1987 --- Makefile Thu May 21 13:01:57 1987 *************** *** 14,19 **** --- 14,21 ---- OBJS = sid_blt.o sid_main.o sid_stuff.o sid_sun.o SRCS = sid_blt.c sid_main.c sid_stuff.c sid_sun.c HDRS = bltstuff.h sidtool.h + ICONS = up_arrow.icon down_arrow.icon left_arrow.icon right_arrow.icon \ + sidtool.icon LIBS = -lsuntool -lsunwindow -lpixrect all: sidtool *************** *** 49,54 **** cc $(LDFLAGS) -o sidtool $(OBJS) $(LIBS) sid_blt.o: sid_blt.c $(HDRS) ! sid_main.o: sid_main.c $(HDRS) sid_stuff.o: sid_stuff.c $(HDRS) sid_sun.o: sid_sun.c $(HDRS) --- 51,56 ---- cc $(LDFLAGS) -o sidtool $(OBJS) $(LIBS) sid_blt.o: sid_blt.c $(HDRS) ! sid_main.o: sid_main.c $(HDRS) $(ICONS) sid_stuff.o: sid_stuff.c $(HDRS) sid_sun.o: sid_sun.c $(HDRS) *** sid_blt.c.old Thu May 21 06:46:08 1987 --- sid_blt.c Thu May 21 13:15:31 1987 *************** *** 4,9 **** --- 4,10 ---- * Various routines that do "rasterop" type graphics used by sidtool. * * Written by Rich Burridge - SUN Microsystems Australia (Melbourne). + * Joystick interface and various bug fixes by Dan Heller * * Version 2.1. - April 1987. * *************** *** 211,217 **** drawbox(x,y) ; else if (maze[x][y] == 'x') walls[x+2][y] = 1 ; /* Borders. */ ! PPAUSE(pausetime*30) ; BLT_SCRN(XBASE-(SQUARE/2)-2,YBASE-(SQUARE/2)-2, SQUARE*(XSIZE+1)+6,SQUARE*(YSIZE+1)+6,RINV) ; fixexits() ; --- 212,218 ---- drawbox(x,y) ; else if (maze[x][y] == 'x') walls[x+2][y] = 1 ; /* Borders. */ ! PPAUSE(pausetime*10) ; BLT_SCRN(XBASE-(SQUARE/2)-2,YBASE-(SQUARE/2)-2, SQUARE*(XSIZE+1)+6,SQUARE*(YSIZE+1)+6,RINV) ; fixexits() ; *************** *** 220,231 **** for (x = 1; x <= XSIZE; x++) if (dots[player][x+1][y] == SMALLDOT) { ! PPAUSE(pausetime*5) ; drawdot(x,y,SMALLDOT) ; } else if (dots[player][x+1][y] == BIGDOT) { ! PPAUSE(pausetime*5) ; drawdot(x,y,BIGDOT) ; } --- 221,232 ---- for (x = 1; x <= XSIZE; x++) if (dots[player][x+1][y] == SMALLDOT) { ! PPAUSE(pausetime) ; drawdot(x,y,SMALLDOT) ; } else if (dots[player][x+1][y] == BIGDOT) { ! PPAUSE(pausetime) ; drawdot(x,y,BIGDOT) ; } *************** *** 242,248 **** for (x = 1; x <= numcir[player]; x++) { ! PPAUSE(pausetime*30) ; BLT_MEM_TO_SCRN(30+(x-1)*60,20,50,50,RXOR,circles[RIGHT][0],0,0) ; } --- 243,249 ---- for (x = 1; x <= numcir[player]; x++) { ! PPAUSE(pausetime*10) ; BLT_MEM_TO_SCRN(30+(x-1)*60,20,50,50,RXOR,circles[RIGHT][0],0,0) ; } *************** *** 272,278 **** clear_screen() ; dohelp() ; WRITELN(5,860,"Type DEL to begin") ; ! for (i = 0; i < 100; i++) LONGPAUSE() ; newbugs(0) ; UNTRANSPT(130,350,dotx,doty) ; --- 273,279 ---- clear_screen() ; dohelp() ; WRITELN(5,860,"Type DEL to begin") ; ! for (i = 0; i < 6; i++) LONGPAUSE() ; newbugs(0) ; UNTRANSPT(130,350,dotx,doty) ; *************** *** 301,306 **** --- 302,308 ---- { int g ; + PPAUSE(pausetime) ; if (movei % 8) cirx-- ; drawcir(circles[LEFT][inc],cirx,ciry) ; if (movei % 4 == 0) inc = (inc + 1) % 4 ; *************** *** 336,342 **** { int g,i ; ! PPAUSE(8*movex) ; if (movei % 26) cirx++ ; drawcir(circles[RIGHT][inc],cirx,ciry) ; if (movei % 4 == 0) inc = (inc + 1) % 4 ; --- 338,344 ---- { int g,i ; ! PPAUSE(pausetime * movex / 2) ; if (movei % 26) cirx++ ; drawcir(circles[RIGHT][inc],cirx,ciry) ; if (movei % 4 == 0) inc = (inc + 1) % 4 ; *************** *** 351,357 **** bugs[g].eyesonly = 1 ; SPRINTF(buffer,"%1d",movej) ; WRITELN(bugs[g].scrx-20,440,buffer) ; ! for (i = 0; i < 60; i++) LONGPAUSE() ; SPRINTF(buffer,"%1d",movej) ; WRITELN(bugs[g].scrx-20,440,buffer) ; movej *= 2 ; --- 353,359 ---- bugs[g].eyesonly = 1 ; SPRINTF(buffer,"%1d",movej) ; WRITELN(bugs[g].scrx-20,440,buffer) ; ! LONGPAUSE() ; SPRINTF(buffer,"%1d",movej) ; WRITELN(bugs[g].scrx-20,440,buffer) ; movej *= 2 ; *************** *** 362,368 **** if (++movei > 665) { SCHRFUNC(RRPL) ; ! for (i = 0; i < 100; i++) LONGPAUSE() ; credits = 0 ; progstate = INITGAME ; } --- 364,370 ---- if (++movei > 665) { SCHRFUNC(RRPL) ; ! LONGPAUSE() ; credits = 0 ; progstate = INITGAME ; } *************** *** 387,402 **** BLT_MEM_TO_SCRN(x,y,45,45,RRPL,bugpics[g][0],0,0) ; BLT_MEM_TO_SCRN(x,y,45,21,RXOR,eyes[g],0,0) ; ! for (i = 0; i < 40; i++) LONGPAUSE() ; SPRINTF(buffer,"- %s",names[g]) ; WRITELN(x+60,y+25,buffer) ; ! for (i = 0; i < 40; i++) LONGPAUSE() ; } if ((fn = fopen(h_name,"r")) == NULL) { ! FPRINTF(stderr,"\nsidtool: can't open %s\n",h_name) ; ! exit(-1) ; } x = 105 ; y = 465 ; --- 389,404 ---- BLT_MEM_TO_SCRN(x,y,45,45,RRPL,bugpics[g][0],0,0) ; BLT_MEM_TO_SCRN(x,y,45,21,RXOR,eyes[g],0,0) ; ! LONGPAUSE() ; SPRINTF(buffer,"- %s",names[g]) ; WRITELN(x+60,y+25,buffer) ; ! LONGPAUSE() ; } if ((fn = fopen(h_name,"r")) == NULL) { ! perror(h_name) ; ! exit(1) ; } x = 105 ; y = 465 ; *************** *** 406,411 **** --- 408,414 ---- WRITELN(x,i*15+y,line) ; i++ ; } + FCLOSE(fn) ; if (!autoplay) make_control_panel() ; if (!autoplay) display_settings() ; } *************** *** 498,503 **** --- 501,507 ---- } } } + draw_joystick(curdir) ; if (checkcollision(cirmx,cirmy,&g)) handlecollision(&bugs[g]) ; } *************** *** 553,559 **** oldcy = posy ; PPAUSE(pausetime*70) ; } ! for (i = 0; i < 80; i++) LONGPAUSE() ; } --- 557,563 ---- oldcy = posy ; PPAUSE(pausetime*70) ; } ! LONGPAUSE() ; } *************** *** 567,573 **** { int x,y,t ; ! PPAUSE(pausetime*30) ; for (y = 1; y <= YSIZE; y++) if (maze[0][y] == ' ') { --- 571,577 ---- { int x,y,t ; ! PPAUSE(pausetime*10) ; for (y = 1; y <= YSIZE; y++) if (maze[0][y] == ' ') { *************** *** 584,590 **** BLT_SCRN(3,t-2-SQUARE/2,XBASE-(SQUARE/2)-5,SQUARE*2+6,RINV) ; } ! PPAUSE(pausetime*30) ; for (y = 1; y <= YSIZE; y++) if (maze[XSIZE+1][y] == ' ') { --- 588,594 ---- BLT_SCRN(3,t-2-SQUARE/2,XBASE-(SQUARE/2)-5,SQUARE*2+6,RINV) ; } ! PPAUSE(pausetime*10) ; for (y = 1; y <= YSIZE; y++) if (maze[XSIZE+1][y] == ' ') { *************** *** 635,642 **** if ((fd = open(a_name,0)) == -1) { ! FPRINTF(stderr,"sidtool: unable to open %s.\n",a_name) ; ! exit(-1) ; } for (i = UR; i <= LU; i++) corner[i] = load_picture(fd) ; --- 639,646 ---- if ((fd = open(a_name,0)) == -1) { ! perror(a_name) ; ! exit(1) ; } for (i = UR; i <= LU; i++) corner[i] = load_picture(fd) ; *************** *** 661,668 **** if ((fn = fopen(m_name,"r")) == NULL) { ! FPRINTF(stderr,"\nsidtool: can't open %s\n",m_name) ; ! exit(-1) ; } for (y = 0; y <= YSIZE+1; y++) --- 665,672 ---- if ((fn = fopen(m_name,"r")) == NULL) { ! perror(m_name) ; ! exit(1) ; } for (y = 0; y <= YSIZE+1; y++) *************** *** 749,755 **** for (i = 1; i <= 20; i++) { BLT_MEM_TO_SCRN(oldcx-GOFFSET+5,oldcy-GOFFSET+5,45,45,RXOR,curcircle,0,0) ; ! for (j = 0; j < 10; j++) LONGPAUSE() ; } LONGPAUSE() ; if (fruitmaze[player] < 8) fruitmaze[player]++ ; --- 753,759 ---- for (i = 1; i <= 20; i++) { BLT_MEM_TO_SCRN(oldcx-GOFFSET+5,oldcy-GOFFSET+5,45,45,RXOR,curcircle,0,0) ; ! PPAUSE(pausetime*100) ; } LONGPAUSE() ; if (fruitmaze[player] < 8) fruitmaze[player]++ ; *************** *** 799,805 **** for (i = 1; i < 7; i++) { BLT_MEM_TO_SCRN(oldcx-GOFFSET+5,oldcy-GOFFSET+5,45,45,RXOR,curcircle,0,0) ; ! for (i = 0; i < 10; i++) LONGPAUSE() ; } numcir[player]++ ; BLT_MEM_TO_SCRN(30+(numcir[player]-1)*60,20,50,50,RXOR,circles[RIGHT][0],0,0) ; --- 803,809 ---- for (i = 1; i < 7; i++) { BLT_MEM_TO_SCRN(oldcx-GOFFSET+5,oldcy-GOFFSET+5,45,45,RXOR,curcircle,0,0) ; ! PPAUSE(pausetime*100) ; } numcir[player]++ ; BLT_MEM_TO_SCRN(30+(numcir[player]-1)*60,20,50,50,RXOR,circles[RIGHT][0],0,0) ; *** sid_main.c.old Thu May 21 06:46:19 1987 --- sid_main.c Thu May 21 13:42:31 1987 *************** *** 4,9 **** --- 4,10 ---- * Sid Tool - the Sun Interactive Debugger program. * * Written by Rich Burridge - Sun Microsystems Australia (Melbourne). + * Joystick interface and various bug fixes by Dan Heller. * * Version 2.1. - April 1987. * *************** *** 35,40 **** --- 36,66 ---- Notify_value main_loop() ; void event_proc() ; + int ms_x, ms_y ; + + /* Joystick (really, arrow) symbols */ + + short left_arrow_dat[] = { + #include "left_arrow.icon" + } ; + mpr_static(joystick_left,64,64,1,left_arrow_dat) ; + + short right_arrow_dat[] = { + #include "right_arrow.icon" + } ; + mpr_static(joystick_right,64,64,1,right_arrow_dat) ; + + short up_arrow_dat[] = { + #include "up_arrow.icon" + } ; + mpr_static(joystick_up,64,64,1,up_arrow_dat) ; + + short down_arrow_dat[] = { + #include "down_arrow.icon" + } ; + mpr_static(joystick_down,64,64,1,down_arrow_dat) ; + + short sid_image[] = { #include "sidtool.icon" } ; *************** *** 140,146 **** int last ; last = 'r' ; ! PPAUSE(pausetime*20) ; walls[mx+2][my] = 1 ; if (maze[mx][my] == 's') drawcorner(mx,my,UR) ; else if (maze[mx][my] == 'S') ddrawline(mx,my,'r') ; --- 166,172 ---- int last ; last = 'r' ; ! PPAUSE(pausetime*10) ; walls[mx+2][my] = 1 ; if (maze[mx][my] == 's') drawcorner(mx,my,UR) ; else if (maze[mx][my] == 'S') ddrawline(mx,my,'r') ; *************** *** 153,159 **** mx++ ; for (;;) { ! PPAUSE(2*pausetime) ; walls[mx+2][my] = 1 ; switch (maze[mx][my]) { --- 179,185 ---- mx++ ; for (;;) { ! PPAUSE(pausetime) ; walls[mx+2][my] = 1 ; switch (maze[mx][my]) { *************** *** 192,197 **** --- 218,234 ---- } + draw_joystick(dir) + + { + pw_rop(canvas_pixwin(canvas), 375, 110, 44, 44, PIX_SRC, + (dir == UP) ? &joystick_up : + (dir == DOWN) ? &joystick_down : + (dir == RIGHT) ? &joystick_right : + &joystick_left, 0, 0) ; + } + + setdots(player) int player ; *************** *** 346,351 **** --- 383,390 ---- pausetime = -skilllevel * 20 + (speed * 100) ; circatchup = -skilllevel * 4 + 46 ; highplayer = -1 ; + ms_x = (int) window_get(canvas,WIN_WIDTH) / 2 ; + ms_y = (int) window_get(canvas,WIN_HEIGHT) / 2 ; for (j = 1; j < MAXNUMPLAYERS; j++) { numdots[j] = 0 ; *************** *** 395,401 **** int i,j ; on = 1 ; ! if (!autoplay) for (i = 1; i <= 16; i++) { showplayerscore(player) ; --- 434,441 ---- int i,j ; on = 1 ; ! if (autoplay) LONGPAUSE() ! else for (i = 1; i <= 16; i++) { showplayerscore(player) ; *************** *** 646,652 **** get_options(argc,argv) ; /* Get command line options. */ function_keys(KEY_SET) ; /* Set direction arrow function keys. */ ! if ((pf = pf_open("/usr/lib/fonts/fixedwidthfonts/screen.r.14")) == NULL) { FPRINTF("Can't open screen.r.14 font.\n") ; function_keys(KEY_RESET) ; --- 686,693 ---- get_options(argc,argv) ; /* Get command line options. */ function_keys(KEY_SET) ; /* Set direction arrow function keys. */ ! if (!(pf = pf_open("/usr/lib/fonts/fixedwidthfonts/screen.r.14")) && ! !(pf = pf_default())) { FPRINTF("Can't open screen.r.14 font.\n") ; function_keys(KEY_RESET) ; *************** *** 670,678 **** WIN_EVENT_PROC, event_proc, 0) ; ! window_set(canvas, WIN_CONSUME_KBD_EVENTS, WIN_ASCII_EVENTS, 0) ; ! window_set(canvas, WIN_CONSUME_KBD_EVENTS, WIN_LEFT_KEYS, 0) ; ! window_set(canvas,WIN_IGNORE_PICK_EVENT,LOC_MOVE,0) ; pw = canvas_pixwin(canvas) ; --- 711,726 ---- WIN_EVENT_PROC, event_proc, 0) ; ! window_set(canvas, WIN_CONSUME_PICK_EVENTS, WIN_MOUSE_BUTTONS, ! WIN_UP_EVENTS, ! 0, ! WIN_CONSUME_KBD_EVENTS, WIN_ASCII_EVENTS, ! KEY_RIGHT(8), ! KEY_RIGHT(10), ! KEY_RIGHT(12), ! KEY_RIGHT(14), ! WIN_UP_EVENTS, ! 0) ; pw = canvas_pixwin(canvas) ; *************** *** 716,722 **** int x,y ; /* Position of mouse when button pressed. */ int i ; ! if (event_is_ascii(event)) { c = event_id(event) ; if (progstate == NEXTLINE) return ; --- 764,771 ---- int x,y ; /* Position of mouse when button pressed. */ int i ; ! if (event_is_ascii(event) || ! !autoplay && (event->ie_code == MS_RIGHT || event->ie_code == LOC_MOVE)) { c = event_id(event) ; if (progstate == NEXTLINE) return ; *************** *** 727,744 **** progstate = DELHIT ; return ; } ! else if (c == CTRLS) { savedstate = progstate ; progstate = CTRLSHIT ; return ; } ! else if (c == CTRLQ) { progstate = savedstate ; return ; } ! else if (!autoplay) sc = c ; } else if (event_is_down(event) && event_is_button(event)) { --- 776,817 ---- progstate = DELHIT ; return ; } ! else if (c == CTRLS || progstate != CTRLSHIT && ! event_is_down(event) && c == MS_RIGHT) { savedstate = progstate ; progstate = CTRLSHIT ; return ; } ! else if (c == CTRLQ || progstate == CTRLSHIT && ! event_is_down(event) && c == MS_RIGHT) { progstate = savedstate ; return ; } ! else if (!autoplay && progstate != CTRLSHIT) ! { ! if (c == LOC_MOVE) ! { ! x = event_x(event) - ms_x ; ! y = event_y(event) - ms_y ; ! if (abs(x) <= 4 && abs(y) <= 4) /* Move at least 4 pixels */ ! return ; ! if (abs(x) > abs(y)) ! if (x > 0) c = 'r' ; ! else c = 'l' ; ! else ! if (y > 0) c = 'd' ; ! else c = 'u' ; ! ! /* Return the mouse to the middle of the playing board */ ! ! if (progstate == MAKEPLAY && !autoplay && ! (event_x(event) != ms_x || event_y(event) != ms_y)) ! window_set(canvas, WIN_MOUSE_XY, ms_x, ms_y, 0) ; ! } ! sc = c ; ! } } else if (event_is_down(event) && event_is_button(event)) { *** sid_stuff.c.old Thu May 21 06:46:46 1987 --- sid_stuff.c Thu May 21 12:24:39 1987 *************** *** 4,9 **** --- 4,10 ---- * Various functions and procedures used by Sid Tool. * * Written by Rich Burridge - SUN Microsystems Australia (Melbourne). + * Joystick interface and various bug fixes by Dan Heller. * * Version 2.1. - April 1987. * *************** *** 36,43 **** extern BOOLEAN autoplay,changed,demomode,gamestate,remove ; extern char a_name[MAXLINE],buffer[MAXLINE],h_name[MAXLINE] ; ! extern char m_name[MAXLINE], new_key_vals[9][MAXLINE] ; ! extern char old_key_vals[9][MAXLINE],s_name[MAXLINE],titlestring[MAXLINE] ; extern int blueblink,blueincblink,button,c,cirx,ciry,credits ; extern int curbluetime[MAXNUMPLAYERS+1],curdir,dotx,doty ; --- 37,44 ---- extern BOOLEAN autoplay,changed,demomode,gamestate,remove ; extern char a_name[MAXLINE],buffer[MAXLINE],h_name[MAXLINE] ; ! extern char m_name[MAXLINE], new_key_vals[4][MAXLINE] ; ! extern char old_key_vals[4][MAXLINE],s_name[MAXLINE],titlestring[MAXLINE] ; extern int blueblink,blueincblink,button,c,cirx,ciry,credits ; extern int curbluetime[MAXNUMPLAYERS+1],curdir,dotx,doty ; *************** *** 98,104 **** clear_screen() ; SPRINTF(buffer,"Player %1d",player) ; write_bold(348,500,buffer) ; ! for (i = 0; i < 100; i++) LONGPAUSE() ; drawmaze() ; blinkpause() ; if (!startgame) --- 99,105 ---- clear_screen() ; SPRINTF(buffer,"Player %1d",player) ; write_bold(348,500,buffer) ; ! LONGPAUSE() ; drawmaze() ; blinkpause() ; if (!startgame) *************** *** 162,168 **** SCHRFUNC(RXOR) ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(x,g->scry+10,buffer) ; ! for (i = 0; i < 10; i++) LONGPAUSE() ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(x,g->scry+10,buffer) ; SCHRFUNC(RRPL) ; --- 163,169 ---- SCHRFUNC(RXOR) ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(x,g->scry+10,buffer) ; ! LONGPAUSE() ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(x,g->scry+10,buffer) ; SCHRFUNC(RRPL) ; *************** *** 183,189 **** SCHRFUNC(RXOR) ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(fruitx+10,fruity+10,buffer) ; ! for (i = 0; i < 10; i++) LONGPAUSE() ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(fruitx+10,fruity+10,buffer) ; SCHRFUNC(RRPL) ; --- 184,190 ---- SCHRFUNC(RXOR) ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(fruitx+10,fruity+10,buffer) ; ! LONGPAUSE() ; SPRINTF(buffer,"%1d0",inc) ; WRITELN(fruitx+10,fruity+10,buffer) ; SCHRFUNC(RRPL) ; *************** *** 442,448 **** { SCHRFUNC(RXOR) ; WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; ! for (i = 0; i < 80; i++) LONGPAUSE() ; WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; SCHRFUNC(RRPL) ; if (numplayers == 1) --- 443,449 ---- { SCHRFUNC(RXOR) ; WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; ! LONGPAUSE() ; WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; SCHRFUNC(RRPL) ; if (numplayers == 1) *************** *** 451,457 **** longjmp(exception,val) ; } } ! else for (i = 0; i < 50; i++) LONGPAUSE() ; changeplayers(0) ; } } --- 452,458 ---- longjmp(exception,val) ; } } ! else LONGPAUSE() ; changeplayers(0) ; } } *************** *** 538,552 **** if ((fd = open("/dev/kbd",0,0)) < 0) { ! FPRINTF(stderr,"sidtool: can't open /dev/kbd\n") ; exit(1) ; } ! for (i = 0; i < 4; i++) /* Set up function keys R7-R15, saving old values. */ ! { if (state == KEY_SET) { get_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; ! set_key(fd,key_stations[i],new_key_vals[i],STRING + 5 + i) ; } else set_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; } --- 539,553 ---- if ((fd = open("/dev/kbd",0,0)) < 0) { ! perror("/dev/kbd") ; exit(1) ; } ! for (i = 0; i < 4; i++) /* Set up function keys R8, R10, R12 and R14. */ ! { /* Saving old values. */ if (state == KEY_SET) { get_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; ! set_key(fd,key_stations[i],new_key_vals[i],STRING + 1 + i) ; } else set_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; } *** sidtool.h.old Thu May 21 06:45:55 1987 --- sidtool.h Thu May 21 12:07:38 1987 *************** *** 63,70 **** /* Wait for len tics. */ #define PPAUSE(len) { int ppi ; for (ppi = 0; ppi < len; ppi++) ; } ! /* Wait for a while and check keyboard for commands. */ ! #define LONGPAUSE() { int loi ; for (loi = 0; loi < (1000*speed); loi++) ; } /* Returns the reverse direction of the parameter (left goes to right, etc.) */ #define REVERSEDIR(dir) ((dir + 2) % 4) --- 63,70 ---- /* Wait for len tics. */ #define PPAUSE(len) { int ppi ; for (ppi = 0; ppi < len; ppi++) ; } ! /* Wait for a longer while. */ ! #define LONGPAUSE() { int loi ; for (loi = 0; loi < (2000*speed); loi++) ; } /* Returns the reverse direction of the parameter (left goes to right, etc.) */ #define REVERSEDIR(dir) ((dir + 2) % 4) *** /dev/null Thu May 21 15:00:00 1987 --- down_arrow.icon Thu May 21 12:51:55 1987 *************** *** 0 **** --- 1,34 ---- + /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 + */ + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC0FF,0xFFFF,0xF030,0x0000,0xC07F,0xFFFF,0xE030,0x0000, + 0xC03F,0xFFFF,0xC030,0x0000,0xC01F,0xFFFF,0x8030,0x0000, + 0xC00F,0xFFFF,0x0030,0x0000,0xC007,0xFFFE,0x0030,0x0000, + 0xC003,0xFFFC,0x0030,0x0000,0xC001,0xFFF8,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0x7FE0,0x0030,0x0000, + 0xC000,0x3FC0,0x0030,0x0000,0xC000,0x1F80,0x0030,0x0000, + 0xC000,0x0F00,0x0030,0x0000,0xC000,0x0600,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 *** /dev/null Thu May 21 15:00:00 1987 --- left_arrow.icon Thu May 21 12:55:23 1987 *************** *** 0 **** --- 1,34 ---- + /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 + */ + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x1000,0x0030,0x0000,0xC000,0x3000,0x0030,0x0000, + 0xC000,0x7000,0x0030,0x0000,0xC000,0xF000,0x0030,0x0000, + 0xC001,0xF000,0x0030,0x0000,0xC003,0xF000,0x0030,0x0000, + 0xC007,0xF000,0x0030,0x0000,0xC00F,0xF000,0x0030,0x0000, + 0xC01F,0xFFFF,0xFF30,0x0000,0xC03F,0xFFFF,0xFF30,0x0000, + 0xC07F,0xFFFF,0xFF30,0x0000,0xC0FF,0xFFFF,0xFF30,0x0000, + 0xC1FF,0xFFFF,0xFF30,0x0000,0xC3FF,0xFFFF,0xFF30,0x0000, + 0xC3FF,0xFFFF,0xFF30,0x0000,0xC1FF,0xFFFF,0xFF30,0x0000, + 0xC0FF,0xFFFF,0xFF30,0x0000,0xC07F,0xFFFF,0xFF30,0x0000, + 0xC03F,0xFFFF,0xFF30,0x0000,0xC01F,0xFFFF,0xFF30,0x0000, + 0xC00F,0xF000,0x0030,0x0000,0xC007,0xF000,0x0030,0x0000, + 0xC003,0xF000,0x0030,0x0000,0xC001,0xF000,0x0030,0x0000, + 0xC000,0xF000,0x0030,0x0000,0xC000,0x7000,0x0030,0x0000, + 0xC000,0x3000,0x0030,0x0000,0xC000,0x1000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 *** /dev/null Thu May 21 15:00:00 1987 --- right_arrow.icon Thu May 21 12:57:48 1987 *************** *** 0 **** --- 1,34 ---- + /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 + */ + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0080,0x0030,0x0000,0xC000,0x00C0,0x0030,0x0000, + 0xC000,0x00E0,0x0030,0x0000,0xC000,0x00F0,0x0030,0x0000, + 0xC000,0x00F8,0x0030,0x0000,0xC000,0x00FC,0x0030,0x0000, + 0xC000,0x00FE,0x0030,0x0000,0xC000,0x00FF,0x0030,0x0000, + 0xCFFF,0xFFFF,0x8030,0x0000,0xCFFF,0xFFFF,0xC030,0x0000, + 0xCFFF,0xFFFF,0xE030,0x0000,0xCFFF,0xFFFF,0xF030,0x0000, + 0xCFFF,0xFFFF,0xF830,0x0000,0xCFFF,0xFFFF,0xFC30,0x0000, + 0xCFFF,0xFFFF,0xFC30,0x0000,0xCFFF,0xFFFF,0xF830,0x0000, + 0xCFFF,0xFFFF,0xF030,0x0000,0xCFFF,0xFFFF,0xE030,0x0000, + 0xCFFF,0xFFFF,0xC030,0x0000,0xCFFF,0xFFFF,0x8030,0x0000, + 0xC000,0x00FF,0x0030,0x0000,0xC000,0x00FE,0x0030,0x0000, + 0xC000,0x00FC,0x0030,0x0000,0xC000,0x00F8,0x0030,0x0000, + 0xC000,0x00F0,0x0030,0x0000,0xC000,0x00E0,0x0030,0x0000, + 0xC000,0x00C0,0x0030,0x0000,0xC000,0x0080,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 *** /dev/null Thu May 21 15:00:00 1987 --- up_arrow.icon Thu May 21 13:00:16 1987 *************** *** 0 **** --- 1,34 ---- + /* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 + */ + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xC000,0x0600,0x0030,0x0000,0xC000,0x0F00,0x0030,0x0000, + 0xC000,0x1F80,0x0030,0x0000,0xC000,0x3FC0,0x0030,0x0000, + 0xC000,0x7FE0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC001,0xFFF8,0x0030,0x0000,0xC003,0xFFFC,0x0030,0x0000, + 0xC007,0xFFFE,0x0030,0x0000,0xC00F,0xFFFF,0x0030,0x0000, + 0xC01F,0xFFFF,0x8030,0x0000,0xC03F,0xFFFF,0xC030,0x0000, + 0xC07F,0xFFFF,0xE030,0x0000,0xC0FF,0xFFFF,0xF030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0xFFF0,0x0030,0x0000,0xC000,0xFFF0,0x0030,0x0000, + 0xC000,0x0000,0x0030,0x0000,0xC000,0x0000,0x0030,0x0000, + 0xFFFF,0xFFFF,0xFFF0,0x0000,0xFFFF,0xFFFF,0xFFF0,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, + 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000