int DISK_InitialiseMemory() { #if 1 if (LoadRom(DiskRomLo,0x2000,"roms/1540-c000.325302-01.bin")) return 1; if (LoadRom(DiskRomHi,0x2000,"roms/1540-e000.325303-01.bin")) return 1; #else if (LoadRom(combinedRom,0x4000,"roms/dos1541")) return 1; memcpy(DiskRomLo,combinedRom,0x2000); memcpy(DiskRomHi,combinedRom+0x2000,0x2000); #endif #if USE_DRW_IMAGE if (LoadRom(DiskData,252004,"disks/vicdemos3b.drw")) return 1; #else if (LoadRom(DiskData,333744,"disks/party.g64")) return 1; #endif if (curTrack<0) { MoveHead(1); // Initialise DISK } return 0; }
void NaoMarkServiceDetection::FindMarkArround() { _isAllowedToMove = false; MoveHead(-0.7f); Sleep((DWORD)50); if(_naoMarkDetected) { TurnToDetectedMark(-0.7f); return; } MoveHead(-1.5f); Sleep((DWORD)50); if(_naoMarkDetected) { TurnToDetectedMark(-1.5f); return; } MoveHead(0.7f); Sleep((DWORD)50); if(_naoMarkDetected) { TurnToDetectedMark(0.7f); return; } MoveHead(1.5f); Sleep((DWORD)50); if(_naoMarkDetected) { TurnToDetectedMark(1.5f); return; } MoveHead(0); _isAllowedToMove = true; Sleep((DWORD)100); }
void* audioProcess(void* param) { Handle<es::Context> root = System()->getRoot(); gSoundOutput = root->lookup("device/soundOutput"); Handle<es::CurrentThread> currentThread = System()->currentThread(); monitorPlayState = System()->createMonitor(); monitorPlaySize = System()->createMonitor(); long len = 0; long offset; long n; for (;;) { monitorPlayState->lock(); while (!playState.playing) { monitorPlayState->wait(); } monitorPlayState->unlock(); monitorPlaySize->lock(); while (playState.size == 0) { monitorPlaySize->wait(); } len = playState.size; monitorPlaySize->unlock(); for (offset = 0; offset < len; offset += n) { Setup(); n = gSoundOutput->write(playState.head, playState.played); if (n < 0) { break; } else if (n == 0) { continue; } MoveHead(n); synchronizedSignalSemaphoreWithIndex(playState.playSemaIndex); if (len <= offset + n) { break; } } } if (monitorPlayState) { monitorPlayState->release(); } if (monitorPlaySize) { monitorPlaySize->release(); } return 0; }
void NaoMarkServiceDetection::TurnToDetectedMark(float angle) { motionProxy->moveTo(0,0,angle); MoveHead(0); _isAllowedToMove = true; }