static void player_animate_release(PLAYER *player) { int i; int mask = player->released_details; int need_break; unsigned long next_clock; for (i=0; i<3; i++) { next_clock = start_clock(ANIMATE_RELASE_DELAY1); need_break = (wait_clock(next_clock, player) != ACT_NONE); if (! need_break) { LastSaveLayer = -1; draw_board(PT_FOREGROUND, player, mask); next_clock = start_clock(ANIMATE_RELASE_DELAY2); need_break = (wait_clock(next_clock, player) != ACT_NONE); LastSaveLayer = -1; } draw_board(PT_FOREGROUND, player, 0); if (need_break) break; } }
int main(int argc, char *argv[]){ (void)argc; (void)argv; wait_clock(current_clock()+100); printf(" test_void1"); return 0; }
void uload3_send_byte(uint8_t byte) { fastloader_setup(); disable_interrupts(); /* initial handshake */ set_data(0); while (IEC_CLOCK && IEC_ATN) ; if (!IEC_ATN) goto exit; /* wait for start signal */ set_data(1); wait_clock(1, ATNABORT); if (!IEC_ATN) goto exit; /* transmit data */ generic_load_2bit(&uload3_send_def, byte); /* exit with clock+data high */ set_clock_at(480, 1, NO_WAIT); set_data_at (480, 1, WAIT); exit: enable_interrupts(); fastloader_teardown(); }
static uint8_t fc3_oldfreeze_send(const uint8_t byte, const generic_2bit_t *timingdef, unsigned int busytime) { fastloader_setup(); disable_interrupts(); /* clear busy */ set_clock(1); set_data(1); delay_us(15); if (!IEC_ATN) goto exit; /* wait for start signal */ wait_clock(1, ATNABORT); if (!IEC_ATN) goto exit; /* transmit data */ generic_load_2bit(timingdef, byte); /* re-enable busy signal */ set_clock_at(busytime, 1, NO_WAIT); set_data_at (busytime, 0, WAIT); delay_us(1); // a little settle time for clock exit: enable_interrupts(); fastloader_teardown(); return !IEC_ATN; }
uint8_t jiffy_receive(iec_bus_t *busstate) { uint8_t result; fastloader_setup(); disable_interrupts(); /* Initial handshake - wait for rising clock, but emulate ATN-ACK */ set_clock(1); set_data(1); do { wait_clock(1, ATNABORT); if (!IEC_ATN) set_data(0); } while (!IEC_CLOCK); /* receive byte */ result = generic_save_2bit(&jiffy_receive_def); /* read EOI info */ *busstate = read_bus_at(670); /* exit with data low */ set_data_at(730, 0, WAIT); delay_us(10); enable_interrupts(); fastloader_teardown(); return result; }
int main(void *arg) { (void)arg; wait_clock(current_clock() + 2); printf(" not killed !!!"); assert(0); return 1; }
int main(int argc, char *argv[]) { (void)argv; int fid=(int)argc; unsigned long quartz, ticks, freq; clock_settings(&quartz,&ticks); freq=quartz/ticks; while (1){ int jeton; printf("%i essaye de prendre le jeton\n",getpid()); preceive(fid,&jeton); printf("%i a pris le jeton %i, " "l'incremente et le garde un peu\n", getpid(), jeton++); wait_clock(3*freq+current_clock()); printf("%i remet le jeton\n",getpid()); psend(fid,jeton); wait_clock(1*freq+current_clock()); } return 0; }
static uint8_t geos_get_generic(const generic_2bit_t *timingdef, uint8_t holdtime_us) { uint8_t result; fastloader_setup(); /* initial handshake */ /* wait_* expects edges, so waiting for clock high isn't needed */ wait_clock(0, NO_ATNABORT); /* receive data */ result = generic_save_2bit(timingdef); delay_us(holdtime_us); fastloader_teardown(); return result; }
static void geos_send_generic(uint8_t byte, const generic_2bit_t *timingdef, unsigned int holdtime_us) { fastloader_setup(); /* initial handshake */ set_clock(1); set_data(1); wait_clock(0, NO_ATNABORT); /* send data */ generic_load_2bit(timingdef, byte); /* hold time */ delay_us(holdtime_us); fastloader_teardown(); }
int main(int argc, char *argv[]) { unsigned long quartz, ticks, freq; clock_settings(&quartz,&ticks); freq=quartz/ticks; (void)argv; unsigned long param = (unsigned long)argc; int i = 0 ; while(i < 10) { wait_clock(param*freq+current_clock()); printf("."); i++ ; } printf("[%i] Termine.\n", getpid()); param = 2 ; return (int)param; }
uint8_t fc3_get_byte(void) { uint8_t result; fastloader_setup(); disable_interrupts(); /* delay (guessed, see AVR version) */ delay_us(10); /* wait for handshake */ set_data(1); wait_clock(1, NO_ATNABORT); /* receive data */ result = generic_save_2bit(&fc3_get_def); /* exit with data low */ set_data(0); enable_interrupts(); fastloader_teardown(); return result; }