https://github.com/instantiator/2022-advent-of-code
An optimistic attempt to solve Advent of Code 2022 using an emulated BBC Micro Computer.
https://github.com/instantiator/2022-advent-of-code
adventofcode2022 basic bbc-basic bbc-micro bbcmicro retrocomputing
Last synced: 2 months ago
JSON representation
An optimistic attempt to solve Advent of Code 2022 using an emulated BBC Micro Computer.
- Host: GitHub
- URL: https://github.com/instantiator/2022-advent-of-code
- Owner: instantiator
- Created: 2022-11-30T20:46:46.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-04T21:06:46.000Z (almost 3 years ago)
- Last Synced: 2025-09-23T08:41:21.616Z (2 months ago)
- Topics: adventofcode2022, basic, bbc-basic, bbc-micro, bbcmicro, retrocomputing
- Language: Shell
- Homepage: https://instantiator.dev/post/8-bit-supercomputer/
- Size: 39 MB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# advent-of-code-2022
An optimistic attempt to solve [Advent of Code 2022](https://adventofcode.com/2022) using an emulated BBC Micro Computer.
I'm using the [Owlet BBC BASIC editor](https://bbcmic.ro/) for now - although if the data grows by much for some of the later challenges I'll probably have to switch to something where I can provide a disk image.
For now, you can copy/paste the code for each solution into the Owlet editor, and hit the run button to see it working...
## Solutions
| Solution A | Solution B |
|-|-|
| 
[01A-solution.basic](2022-12-01/01A-solution.basic) | 
[01B-solution.basic](2022-12-01/01B-solution.basic) |
| 
[02A-solution.basic](2022-12-02/02A-solution.basic), [video](2022-12-02/02A-running.mov) | 
[02B-solution.basic](2022-12-02/02B-solution.basic) |
| 
[03A-solution.basic](2022-12-03/03A-solution.basic) | 
[03B-solution.basic](2022-12-03/03B-solution.basic) |
| 
[04A-solution.basic](2022-12-04/04A-solution.basic) | 
[04B-solution.basic](2022-12-04/04B-solution.basic) |
|  are shown together in green.")
[05A-solution.basic](2022-12-05/05A-solution.basic) |  are shown together in green.")
[05B-solution.basic](2022-12-05/05B-solution.basic) |
|  is written in blue. It indicates that at this point, the last 4 characters on screen are all different.")
[06A-solution.basic](2022-12-06/06A-solution.basic) |  is written in cyan. It indicates that at this point, the last 14 characters on screen are all different.")
[06B-solution.basic](2022-12-06/06B-solution.basic) |
| 
[07A-solution.basic](2022-12-07/07A-solution.basic) | 
[07B-solution.basic](2022-12-07/07B-solution.basic) |
| 
[08A-solution.basic](2022-12-08/08A-solution.basic) | 
[08B-solution.basic](2022-12-08/08B-solution.basic) |
| 
[09A-solution.basic](2022-12-09/09A-solution.basic) | 
[09B-solution.basic](2022-12-09/09B-solution.basic)
(runtime: ~90m) |
| 
[10A-solution.basic](2022-12-10/10A-solution.basic) | 
[10B-solution.basic](2022-12-10/10B-solution.basic) |
| 
[11A-solution.basic](2022-12-11/11A-solution.basic) | 
[11B-solution.basic](2022-12-11/11B-with-bignum.basic)
[bignum.v1.basic](bignums/bignum.v1.basic) |
## Beebjit
Beebjit is a super fast BBC Micro emulator. I've used it to crunch solutions for problems that would have taken an inordinate amount of time. So far, that's:
* **11B** - This required 10,000 iterations of a complex algorithm that makes use of the `bignum` library functions (which, in turn, are very slow).
## The Beeb

The BBC Micro (affectionately known as the Beeb) is a computer first released by the BBC in 1981. Soon after, they appeared in every school. I was also released in 1981, and I have a bit of a soft spot for these old 8-bit machines.
My brother and I grew up writing little games and programs for them in BBC BASIC.