Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/y0014984/65-o-fun
A webbrowser emulator of a fictional 6502-based retro computer.
https://github.com/y0014984/65-o-fun
6502 emulator javascript retro vite vue
Last synced: 4 days ago
JSON representation
A webbrowser emulator of a fictional 6502-based retro computer.
- Host: GitHub
- URL: https://github.com/y0014984/65-o-fun
- Owner: y0014984
- License: gpl-3.0
- Created: 2024-11-18T13:05:58.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-25T16:24:37.000Z (7 days ago)
- Last Synced: 2024-12-25T17:23:12.650Z (7 days ago)
- Topics: 6502, emulator, javascript, retro, vite, vue
- Language: TypeScript
- Homepage: https://y0014984.github.io/65-o-fun/
- Size: 496 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 65-o-fun
## Introduction
6502 home computer simulator with direct manipulation of memory and registers. Supports screen output and keyboard input.
## Goal
- Written in Typescript
- Interaction via Vite/Vue/Node based webfrontend
- Should contain all legal and illegal 6502 opcodes
- Should support other CPUs from the 6502 familiy like the 65C02
- Easy interaction with a graphics, sounds, input devices (keyboard, mouse, gamepad, joystick) etc.
- Easy way to load external programs
- Banked RAM allowing to use more then 64K of RAM
- Dedicated video RAM
- A modern BIOS with a linux like command line interface (separate [Repository](https://github.com/y0014984/65-o-fun-bios))## Try it out
https://y0014984.github.io/65-o-fun
## Features
- All official 6502 opcodes
- Decimal Mode
- All illegal 6502 opcodes (not yet)
- All 65C02 opcodes (not yet)
- Memory/Register view
- Memory/Register edit
- Single Step Execution
- Unit tests (partial)
- Random Opcode Tests
- Keyboard input
- Display with tile based output (8x8 tiles in black and white) 320x240px = 40x30 tiles
- 64 colors (foreground and background)
- software and time-based hardware interrupts
- date and time registers
- Filesystem on Storage
- manual breakpoints
- More display modes (not yet)
- RAM banking (not yet)
- Linux like Bios commands## Build
Clone/copy the repository. Install node/npm. Then install the necessary modules with:
```
npm install
```Run the project in dev mode with:
```
npm run dev
```Build the project with the following command:
```
npm run build
```Run tests with (temporarily broken):
```
npm run test
```or with (temporarily broken):
```
npm run singleStepTests
```or with (temporarily broken):
```
npm run testProg
```