void screenworker() { /* save DMA address - in case some DMA using programm is resuing its set DMA address */ DWORD dmaadr=getdma(); WORD* pxPal = (WORD *) 0xffff8240; BYTE* pxScreen = (BYTE *) *((DWORD*) 0x44e); /* send screen memory */ writeScreen(TRAN_CMD_SENDSCREENCAST,(*((BYTE*)0xffff8260))&3, (BYTE *) pxScreen,32000); /* send 16 ST palette entries */ memcpy(pBuffer,pxPal,16*2); writeScreen(TRAN_CMD_SCREENCASTPALETTE,(*((BYTE*)0xffff8260))&3, (BYTE *) pBuffer,16*2); /* set old DMA address */ setdma(dmaadr); }
void int_80(size_t call, size_t fd, char *buffer, size_t count) { switch (call) { case WRITE: if (fd == STDOUT) { writeScreen(buffer, count); }/*else{ write(fd, buffer, count); }*/ break; case ERASE: if (fd == STDOUT) { eraseScreen(buffer, count); } break; case READ: if (fd == STDIN) { readKeyboard(buffer, count); } break; default: break; } return; }
int main() { //PRR0 = 1 << PRSPI; char buffer[10] = "11:00"; DDRB = (1 << PINB4) | (1 << PINB5) | (1 << PINB7); SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR0) | (1 << SPIE); SPDR = buffer[0]; SPSR = (1 << SPIF); begin(1); setPixel(1); writeScreen(); //while(! SPSR & (1 << SPIF)); }
void Core::openInExtViewer() { if (_conf->getEnableExtView()) { QString format = _conf->getSaveFormat(); if (format.isEmpty()) format = "png"; QString tempFileName = getTempFilename(format); writeScreen(tempFileName, format, true); QString exec; exec = "xdg-open"; QStringList args; args << tempFileName; QProcess *execProcess = new QProcess(this); void (QProcess:: *signal)(int, QProcess::ExitStatus) = &QProcess::finished; connect(execProcess, signal, this, &Core::closeExtViewer); execProcess->start(exec, args); } }
// Output message to screen/logs/socket. void Output(const char *format, ...) { // Check for error indicator (eg, format starting with "<0>") int code = 7; if (format[0] == '<' && format[1] >= '0' && format[1] <= '9' && format[2] == '>') { code = format[1] - '0'; format += 3; } // Format output string. char rawbuf[MAXOUTBUF]; va_list args; va_start(args, format); int rawlen = vsnprintf(rawbuf, sizeof(rawbuf) - PADOUTBUF, format, args); va_end(args); // Convert newline characters char buf[MAXOUTBUF]; int len = convertNL(buf, sizeof(buf), rawbuf, rawlen); writeLog(buf, len); printf(buf); //printf("\n"); outputfn *ofn = getOutputFn(); if (!ofn && code < 6) { Complain(rawbuf, rawlen, code-1); return; } if (code <= 6) writeScreen(buf, len); if (ofn && code <= 7) ofn->sendMessage(buf, len); }
int main(int argc, char** argv) { sf::RenderWindow App(sf::VideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32), "Breakout Clone"); GAME_STATE state = START; sf::View GameView(sf::FloatRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); // Set the view App.setView(GameView); // Create level game::Level level; sf::Clock clock; clock.restart(); sf::Clock gameOverClock; while(App.isOpen()) { sf::Time time = clock.getElapsedTime(); clock.restart(); sf::Event evt; while(App.pollEvent(evt)) { if(evt.type == sf::Event::Closed) App.close(); if(evt.type == sf::Event::KeyPressed) { if(evt.key.code == sf::Keyboard::Escape) App.close(); if(evt.key.code == sf::Keyboard::Return) { if(state == START) { state = RUNNING; level.SetupScene(&App); } } } if(evt.type == sf::Event::Resized) { std::cout << "width:" << evt.size.width << " height:" << evt.size.height << std::endl; resizeWindow(&App); sf::FloatRect viewRect = App.getView().getViewport(); std::cout << "vp.left:" << viewRect.left << " vp.top:" << viewRect.top << " vp.width:" << viewRect.width << " vp.height:" << viewRect.height << std::endl; } level.HandleEvents(&evt); } if(state == START) { writeScreen(&App, "Press \"return\" to start"); continue; } if(state == LOSE || state == WIN) { if(state == LOSE) writeScreen(&App, "Game Over"); else writeScreen(&App, "You Won"); if(gameOverClock.getElapsedTime().asSeconds() > 10) { state = START; } continue; } if(level.HasPlayerLost()) { state = LOSE; gameOverClock.restart(); } if(level.HasPlayerWon()) { state = WIN; gameOverClock.restart(); } level.UpdatePosition(&App, &time); App.clear(); level.Draw(&App); App.display(); } return 0; }
void Core::autoSave() { QString format = _conf->getSaveFormat(); QString fileName = getSaveFilePath(format); writeScreen(fileName, format); }
void HT1632::fillScreen() { for (uint8_t i=0; i<(WIDTH*HEIGHT/8); i++) { ledmatrix[i] = 0xFF; } writeScreen(); }