C64 emulation on STM32F429 Discovery board with builtin LCD and USB keyboard support (OTG). More info at davevw.com and/or github.com/davervw
Dependencies: LCD_DISCO_F429ZI BSP_DISCO_F429ZI USBHOST
main.cpp
- Committer:
- davervw
- Date:
- 2020-04-13
- Revision:
- 6:65f96b9dd1d3
- Parent:
- 4:8476be802690
- Child:
- 7:dce21deeac6c
File content as of revision 6:65f96b9dd1d3:
// main.cpp - main() // //////////////////////////////////////////////////////////////////////////////// // // C64-stm429_discovery // C64/6502 Emulator targeting STM32F429 LCD/USBHOST // [ported from c-simple-emu-cbm (C Portable Version - for console)] // // MIT License // // Copyright(c) 2020 by David R.Van Wagner // davevw.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. // //////////////////////////////////////////////////////////////////////////////// // OTHER INCLUDED (NOT LIMITED TO) SOURCE/LIBRARIES MAY HAVE DIFFERENT LICENSES. // ARM MBED OS // ARM MBED USBHOST // STM32F429 BSP //////////////////////////////////////////////////////////////////////////////// #include <mbed.h> #include "USBHostKeyboard.h" #include "emuc64.h" #include "emu6502.h" static void execute_task(void const *) { ResetRun(ExecutePatch); } int main(/*int argc, char* argv[]*/) { printf("\n"); printf("C64-stm429_discovery\n"); printf("C64 Emu6502 (for STM32F429 Discovery), version 1.01\n"); printf("Copyright (c) 2020 by David R. Van Wagner\n"); printf("Open Source - MIT License\n"); printf("github.com/davervw\n"); printf("\n"); printf("Contains other licensed software\n"); printf(" ARM MBED OS\n"); printf(" ARM MBED USBHOST\n"); printf(" STM32F429 BSP\n"); printf("\n"); //StartupPRG = "/local/guess2.prg"; C64_Init("/local/basic", "/local/kernal"); Thread keyboardTask(keyboard_task, NULL, osPriorityNormal, 1024 * 4); Thread executeTask(execute_task, NULL, osPriorityNormal, 1024 * 4); //DigitalOut led1(LED1); //led1 = 1; while(1) { //led1=!led1; Thread::wait(500); } return 0; }