#+TITLE: Emulation Emulation is the process of simulating a computer with an interpreter that runs the bytecode of compiled programs for that machine. It's most commonly used to run operating systems inside of others or to play video games. * Future Reading http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU https://stackoverflow.com/questions/448673/how-do-emulators-work-and-how-are-they-written#448689 https://github.com/vascofazza/8bit-cpu https://copetti.org/projects/consoles/nintendo-64/ https://www.youtube.com/watch?v=OjaAToVkoTw&app=desktop https://www.reddit.com/r/ProgrammingLanguages/comments/deuqx3/write_your_own_virtual_machine/ https://andrewkelley.me/post/jamulator.html https://stackoverflow.com/questions/11215689/why-does-emulation-have-to-be-done-in-real-time https://www.internalpointers.com/post/introduction-virtual-memory https://gist.github.com/hellerbarde/2843375 * PCI Passthrough A technique for getting near-native performance in an emulator. https://www.reddit.com/r/VFIO/comments/hyerum/problem_with_pci_passthrough_in_kvmqemu/ https://dominicm.com/gpu-passthrough-qemu-arch-linux/ [[https://github.com/mattrberry/CryBoy][game boy em]] [[https://github.com/mattrberry/chip-8_nim][chip8 em in nim]] https://wiki.xxiivv.com/site/gyo.html [[https://reddit.com/r/osdev/comments/hud8y2/i_got_my_gameboy_emulator_running_in_my_os][I got my Gameboy emulator running in my OS!]] https://github.com/michelhe/rustboyadvance-ng https://github.com/vascofazza/8bit-cpu https://github.com/Two9A/jsGB [[https://copetti.org/projects/consoles/nintendo-64/][nintendo arch]]itecture breakdown [[https://github.com/kesiev/rewtro][papercraft videogame cartridges]] [[https://christine.website/blog/super-bootable-64-2020-05-06][Super Bootable 64 - Christine Dodrill]] https://www.multicians.org/simulator.html [[https://www.youtube.com/watch?app=desktop&v=HyzD8pNlpwI][emulation]] https://github.com/TheLocust3/full-stack-vm https://jakekinsella.com/projects/intel8080/ [[https://cutebunni.es/b/vicera_part1.html][8 bit fantasy console like the game boy!]] * CPU Emulation [[https://www.excamera.com/sphinx/fpga-j1.html][forth fpga cpu]] [[file:forth.org][Forth]] [[file:lisp.org][Lisp]] machines - https://frank-buss.de/lispcpu/ - https://stevelosh.com/blog/2016/12/chip8-cpu/ https://stackoverflow.com/questions/448673/how-do-emulators-work-and-how-are-they-written#448689 * chips! https://blog.scottlogic.com/2017/12/13/chip8-emulator-webassembly-rust.html https://github.com/origamitower/purr-site? can't remember exactly why i saved this http://www.michaelburge.us/2019/03/18/nes-design.html implementing a nes emulator in rust! https://prilik.com/blog/post/widenes/ the basic overview of how the nes works!