├── .editorconfig ├── .eslintrc.json ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .gitpod.yml ├── .husky ├── .gitignore └── pre-commit ├── .vscode ├── extensions.json └── settings.json ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── benchmark ├── .gitignore ├── benchmark.ts ├── convert-instructions.ts ├── index.ts └── permutations.ts ├── demo ├── .gitignore ├── README.md ├── index.html ├── src │ ├── compile.ts │ ├── cpu-performance.ts │ ├── execute.ts │ ├── format-time.ts │ ├── index.css │ ├── index.ts │ ├── intelhex.ts │ ├── task-scheduler.ts │ └── utils │ │ └── editor-history.util.ts ├── tsconfig.json └── vite.config.js ├── package.json ├── prettier.config.js ├── src ├── cpu │ ├── cpu.spec.ts │ ├── cpu.ts │ ├── instruction.spec.ts │ ├── instruction.ts │ ├── interrupt.spec.ts │ └── interrupt.ts ├── index.ts ├── peripherals │ ├── adc.spec.ts │ ├── adc.ts │ ├── clock.spec.ts │ ├── clock.ts │ ├── eeprom.spec.ts │ ├── eeprom.ts │ ├── gpio.spec.ts │ ├── gpio.ts │ ├── spi.spec.ts │ ├── spi.ts │ ├── timer.spec.ts │ ├── timer.ts │ ├── twi.spec.ts │ ├── twi.ts │ ├── usart.spec.ts │ ├── usart.ts │ ├── usi.ts │ ├── watchdog.spec.ts │ └── watchdog.ts ├── types.ts └── utils │ ├── assembler.spec.ts │ ├── assembler.ts │ └── test-utils.ts ├── tsconfig.json ├── tsconfig.spec.json └── vitest.config.ts /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cache 2 | .history 3 | .idea 4 | node_modules 5 | dist 6 | *.log 7 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.gitpod.yml -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/.gitignore: -------------------------------------------------------------------------------- 1 | instruction-fn.ts 2 | -------------------------------------------------------------------------------- /benchmark/benchmark.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/benchmark/benchmark.ts -------------------------------------------------------------------------------- /benchmark/convert-instructions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/benchmark/convert-instructions.ts -------------------------------------------------------------------------------- /benchmark/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/benchmark/index.ts -------------------------------------------------------------------------------- /benchmark/permutations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/benchmark/permutations.ts -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | build 3 | -------------------------------------------------------------------------------- /demo/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/README.md -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/index.html -------------------------------------------------------------------------------- /demo/src/compile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/compile.ts -------------------------------------------------------------------------------- /demo/src/cpu-performance.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/cpu-performance.ts -------------------------------------------------------------------------------- /demo/src/execute.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/execute.ts -------------------------------------------------------------------------------- /demo/src/format-time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/format-time.ts -------------------------------------------------------------------------------- /demo/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/index.css -------------------------------------------------------------------------------- /demo/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/index.ts -------------------------------------------------------------------------------- /demo/src/intelhex.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/intelhex.ts -------------------------------------------------------------------------------- /demo/src/task-scheduler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/task-scheduler.ts -------------------------------------------------------------------------------- /demo/src/utils/editor-history.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/src/utils/editor-history.util.ts -------------------------------------------------------------------------------- /demo/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/tsconfig.json -------------------------------------------------------------------------------- /demo/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/demo/vite.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/package.json -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/prettier.config.js -------------------------------------------------------------------------------- /src/cpu/cpu.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/cpu.spec.ts -------------------------------------------------------------------------------- /src/cpu/cpu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/cpu.ts -------------------------------------------------------------------------------- /src/cpu/instruction.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/instruction.spec.ts -------------------------------------------------------------------------------- /src/cpu/instruction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/instruction.ts -------------------------------------------------------------------------------- /src/cpu/interrupt.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/interrupt.spec.ts -------------------------------------------------------------------------------- /src/cpu/interrupt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/cpu/interrupt.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/peripherals/adc.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/adc.spec.ts -------------------------------------------------------------------------------- /src/peripherals/adc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/adc.ts -------------------------------------------------------------------------------- /src/peripherals/clock.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/clock.spec.ts -------------------------------------------------------------------------------- /src/peripherals/clock.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/clock.ts -------------------------------------------------------------------------------- /src/peripherals/eeprom.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/eeprom.spec.ts -------------------------------------------------------------------------------- /src/peripherals/eeprom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/eeprom.ts -------------------------------------------------------------------------------- /src/peripherals/gpio.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/gpio.spec.ts -------------------------------------------------------------------------------- /src/peripherals/gpio.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/gpio.ts -------------------------------------------------------------------------------- /src/peripherals/spi.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/spi.spec.ts -------------------------------------------------------------------------------- /src/peripherals/spi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/spi.ts -------------------------------------------------------------------------------- /src/peripherals/timer.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/timer.spec.ts -------------------------------------------------------------------------------- /src/peripherals/timer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/timer.ts -------------------------------------------------------------------------------- /src/peripherals/twi.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/twi.spec.ts -------------------------------------------------------------------------------- /src/peripherals/twi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/twi.ts -------------------------------------------------------------------------------- /src/peripherals/usart.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/usart.spec.ts -------------------------------------------------------------------------------- /src/peripherals/usart.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/usart.ts -------------------------------------------------------------------------------- /src/peripherals/usi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/usi.ts -------------------------------------------------------------------------------- /src/peripherals/watchdog.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/watchdog.spec.ts -------------------------------------------------------------------------------- /src/peripherals/watchdog.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/peripherals/watchdog.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/utils/assembler.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/utils/assembler.spec.ts -------------------------------------------------------------------------------- /src/utils/assembler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/utils/assembler.ts -------------------------------------------------------------------------------- /src/utils/test-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/src/utils/test-utils.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/tsconfig.spec.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wokwi/avr8js/HEAD/vitest.config.ts --------------------------------------------------------------------------------