Neo6502 is computer with real W65c02 connected to RP2040 co processor which takes care for everything else: emulates the memory, interfaces the USB keyboard, interfaces to DVI/HDMI monitors, play sounds and music, drive spirits and graphics, interfaces external USB flash drive and have I2C, SPI, UART, GPIO. So Neo6502 litterally lives in the Matrix and thinks it have real peripherals attached, while this is all emulation. What makes Neo6502 modern is the possibility to use modern displays and TVs, Normal USB keyboards and Flash drives. On top of this it has access to modern interfaces like I2C and SPI which allow it to interface modern sensors, displays and other devices unleashing the Arduino like applications.
How to Troubleshoot Apps for the Modern Connected Worker
FOSDEM 2024 Neo in the Matrix
1. FOSDEM, 2024
Bruxelles, February 4th
Neo6502 in the Matrix
open source hardware and software
modern retro computer with software
defined architecture
2. $whoami
Tsvetan Usunov === OLIMEX Ltd
www.olimex.com
OLIMEX company is dealing with electronic design and
production more than 30 years.
1000+ originally designed products, most of them OSHW.
All OLIMEX products are manufactured in Plovdiv, Bulgaria.
3. Retro Computers Sentiment
My first encounter with a
computer was in the distant year
of 1982.
It was the IMKO-2, later renamed
to Pravetz-82—an Apple ][ clone
manufactured in Bulgaria.
4. Pravetz-8D
Pravetz-82 was very expensive, costing
between $6000 and $7000. A few years
later, Pravetz-8D (a copy of the Oric-Atmos)
was released for around $400, making it
more affordable, even for students to save
up and have one at home.
I acquired one, but without a disk drive, it
was not very useful for anything other than
learning to code small programs.
5. Puldin 601
Puldin 601 was the first originally designed
computer in Bulgaria.
It was based on the Motorola 6800
processor with 64K RAM, 68K ROM, and all
the software was written from scratch in
Pascal.
Can you guess where it was manufactured?
In my hometown – Plovdiv.
6. AgonLight OSHW Retro Computer
At the end of 2020, I received a few emails
from customers informing me about the
AgonLight OSHW Retro computer, featuring a
Z80 running at 18 MHz with 512KB RAM and
an ESP32 co-processor for Graphics and
Audio.
The creator Bernardo Kastrup was in search of
a partner to manufacture it.
7. AgonLight
Initially, I was skeptical, given our previous
negative experience with a similar project—
The Maximite, which was claimed to be open
source but was not due to ego problems of its
creator.
However, after some email exchanges with
Bernardo, I became interested and decided to
take on the challenge.
8. AgonLight2
This is how AgonLight2 was made.
We made some small changes to
make it more manufacturable and
match our production process.
AgonLight was initially manufactured
by PCBWay for $150.
After the OLIMEX redesign, we were
able to produce and sell it for €50.
9. AgonLight Community
The sales began at the end of January 2023.
AgonLight quickly became very popular for being both powerful
and affordable.
The Facebook group quickly grew to over 1500 people, and a
plethora of programs and tools were developed, in addition to
the initial BBC BASIC. These included a Text Editor, Z80
Assembler, ez80 Programmer, WiFi Gopher browser, Forth, Audio
Player, and Games. Furthermore, there were forks,
improvements, and bug fixes for FabGL.
10. 6502
Some people in the AgonLight Facebook Group
started asking if the same concept of a retro
computer could be done with the 6502. The
6502 was my first assembly language from
the Apple II, so it holds a special place in my
heart, and the next move seemed logical.
11. 6502 the research
I checked what was available and was not impressed.
There were plenty of expensive kits or monster boards,
all with antique VGA video and PS2 keyboards. None of
these designs were utilizing modern peripherals like
decent HDMI/DVI video and USB keyboards or USB
flash/hard drives. So, I took this as a challenge: to build
an affordable EUR 50 retro computer with a 6502 that
would be 'modern'
12. RP2040
The RP2040 is a small dual-core Cortex-M0
processor from the Raspberry Pi Foundation.
With the Raspberry Pi having a huge
community, numerous projects were quickly
developed once it was released. PicoDVI and
TinyUSB, in particular, were just what I needed
13. In search for simplicity
I just had to add a 6502 and some RAM to the RP2040,
and I would have a computer with HDMI and USB host
capabilities.
Then I wondered, what if the RP2040 could emulate the
RAM too? So, I decided to remove everything and leave
just one 6502 and the RP2040 connected to it, handling
everything else—emulating the memory, audio, video,
keyboard, disk drive, everything!
14. The Matrix
This resembles the Matrix movie, where
the humble 6502 lives in an emulated
world where nothing is real: memory,
video, audio, disks, keyboard, etc.
This is where the name Neo6502 came
from.
15. Neo6502
Stripping the design
down to just two core
chips also allowed the
price to go even lower.
The Neo6502 hardware
was released for EUR 30.
16. The Software crew
The hardware concept was ready, and we built
some prototypes. Then, I called for help with the
software development.
A lot of people responded, and I sent them free
boards; a few of them started to develop
actively. A Discord group for Neo6502 developers
was created
17. Rien Matthijsse
Rien was the first to come with working
Neo6502 firmware
https://github.com/marobi
He made bit-bang RAM emulator + picoDVI
and ported BBC Basic and EHbasic for
Neo6502.
18. Vesselin Sladkov
Veselin surprised me in August 2023 with the
Reload emulator, providing full Apple][, Apple][e,
and Oric-Atmos emulation on Neo6502.
https://github.com/vsladkov/reload-emulator
He first implemented picoDVI to work with USB
host, supporting keyboards and flash drives.
This meant Neo6502 could run Total Replay
with 32MB of Apple II games and apps.
19. Sascha Schneider
Sascha made the PIO memory emulator, which
allowed the 6502 to start working from 1.5 MHz to
6.25 MHz
https://github.com/astralaster
He is also very helpful with project improvements,
code cleaning, and porting. Whenever someone from
the other crew members has troubles with git or
library integration, he helps out.
20. Oliver Schmidt
Oliver is well-known within the 6502
community for his contributions to a
number of Apple ][ related projects,
including A2pico, AppleWin, A2stream.
https://github.com/oliverschmidt
He has been interested in the Neo6502
concept from the beginning and has been
very helpful with his advice and experience.
21. Paul Scott Robson
Paul, like Oliver, is very well-known
within the 6502 community, and you
can see his work wherever the 6502 is
involved.
https://github.com/paulscottrobson
He created NeoBasic and an emulator,
specially made for Neo6502, which
allowed all the merits of the Neo6502
concept to shine.
22. NeoBasic
The W65C02 in Neo6502 runs at only a
humble 6.25 MHz, but thanks to the 'magic'
that Paul Robson performs to offload 6502
activities where the processor is not adept, the
RP2040 yields great results. Tasks such as
variable arithmetic operations, including
multiplication, division, floating-point
operations, string manipulations, graphics
rendering, moving sprites, and loading images,
are all delegated to the RP2040.
23. The Neo6502 advantage
The major advantage of the Neo6502
architecture over others is that all the resources
—RAM, Flash, Video, Audio—are inside a
single RP2040. So, the 6502 only has to 'give
commands' to the RP2040 and not move any
data to it.
This makes the Neo6502 very efficient.
25. Demos
Line Draw
https://www.youtube.com/watch?v=ejfrfaPSllg
Galaxyan demo written in 134 lines of NeoBasic code:
https://www.youtube.com/watch?v=7hHzmW51rvQ
Frogger demo written in 64 lines of NeoBasic code:
https://youtu.be/DxWsGMyfBoA
The sources are here:
https://github.com/paulscottrobson/neo6502-firmware/tree/main
/basic/code/games
27. Why bother to make Retro Computers?
Programming machines with
limited resources provokes
thinking and fosters good
programming habits.
It's a great hobby and a way to
release steam after an intense day.
It's a pleasure to solve problems
that seem impossible at first sight.
28. Questions?
Follow us:
Neo6502 developers on Discord https://discord.gg/MDahtkvAdA
Web www.olimex.com
Wordpress https://olimex.wordpress.com/
Twitter https://twitter.com/Olimex
Facebook https://www.facebook.com/OLINUXINO
Mastodon https://mastodon.social/@olimex