{"id":16237615,"url":"https://github.com/lexus2k/avrsim","last_synced_at":"2025-10-31T03:43:51.138Z","repository":{"id":108162479,"uuid":"89345350","full_name":"lexus2k/avrsim","owner":"lexus2k","description":"AVR Simulator to run Atmel code on desktop pc","archived":false,"fork":false,"pushed_at":"2017-10-02T12:03:11.000Z","size":580,"stargazers_count":14,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T19:38:27.390Z","etag":null,"topics":["arduino","atmel","attiny85","avr-simulator","simulator"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lexus2k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-25T09:58:16.000Z","updated_at":"2024-04-13T09:28:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"9b4402d4-0a22-4037-9c5e-838a624d2aa2","html_url":"https://github.com/lexus2k/avrsim","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexus2k%2Favrsim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexus2k%2Favrsim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexus2k%2Favrsim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexus2k%2Favrsim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lexus2k","download_url":"https://codeload.github.com/lexus2k/avrsim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244003516,"owners_count":20382197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","atmel","attiny85","avr-simulator","simulator"],"created_at":"2024-10-10T13:36:20.314Z","updated_at":"2025-10-31T03:43:46.114Z","avatar_url":"https://github.com/lexus2k.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AVR Simulator\n\nThis is simulator for AVR controllers.\nIt supports partially Attiny85, and is provided as is.\nOS: Linux\n\n1. Introduction\n\nAVR simulator was created to run some avr code on the pc to simplify AVR code debugging.\nIt is simulator and NOT emulator. That is:\n\n * you run your program on the different CPU (x86), not Atmel;\n * interrupts do not actually interrupt main program (They work in parallel to main thread);\n * signals are not emulated as they are in real life.\n * To let native AVR code to be compiled for desktop Linux, simulator engine uses C++ operators overloading. So, pure C code is compiled as C++ code (please, refer to Makefile).\n\nFeel free, if you need to do any changes to simulator code.\n\n2. Supported MCUs\n\n * Attiny85 (partially), any updates are welcome.\n \n3. Supported OS\n\n * Linux\n\nFor Windows, you can try to use MinGW. Native MSVC compiler is not supported as it doesn't have \"weak\" implementation, gcc does have.\n\n4. Sources structure\n\n * emu          - Emulator engine files\n   * emu/alt_arduino - alternate implementation of Arduino includes\n   * emu/arduino     - original Arduino includes (or with minimal rework)\n   * emu/alt_gcc     - alternate implementation of AVR gcc includes\n   * emu/gcc         - original AVR gcc includes (or with minimal rework) - look for [avrsim] tag)\n   * emu/core        - Simulator core, implementing main Arduino/AVR functions for Desktop Linux\n   * emu/mcu         - cpu specific files (implementation for uC)\n * modules  - Modules to connect to your mcu configuration: display, buttons\n   * modules/ssd1306 module - emulates 128x64 ssd1306 OLED LCD display\n   * modules/button module  - emulates digital button for AVR\n * boards       - contains hardware board description in C++ for each project\n * projects     - contains original project sources\n * libraries    - contains libraries used by the projects\n\n5. Usage\n\n SDL2 is required to be installed in the system, you're working in.\n\n To run demo (arkanoid breakout game is used as default example):\n\n * make run\n\n To run lode runner demo:\n * make PROJECT=lode_runner run\n\n If you want to place your project:\n * put all libs, projects requires to libraries\n * put your project files to projects/\u003cname\u003e folder\n * create board configuration for your project: boards/\u003cname\u003e.cpp.\n    refer to arkanoid.ino as example.\n * run: make PROJECT=\u003cname\u003e LIBRARIES=\u003clist\u003e run\n\nImportant! Don't forget to execute git commands after cloning AVRSIM project:\n * git submodule init\n * git submodule update\n\nThat's it\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexus2k%2Favrsim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexus2k%2Favrsim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexus2k%2Favrsim/lists"}