SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
FOSDEM, 2024
Bruxelles, February 4th
Neo6502 in the Matrix
open source hardware and software
modern retro computer with software
defined architecture
$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.
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.
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.
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.
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.
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.
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.
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.
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.
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'
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
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!
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Benchmark
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
What’s next
USB-NeoHUB
Joysticks support
RetroDuino libraries
GPIO, I2C, SPI, UART accessable by
NeoBasic – home automation, Arduino like
projects controlled in BASIC
Neo6502-Laptop
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.
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

Más contenido relacionado

La actualidad más candente

An Introduction to Video Principles-Part 2
An Introduction to Video Principles-Part 2An Introduction to Video Principles-Part 2
An Introduction to Video Principles-Part 2Dr. Mohieddin Moradi
 
Tuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CacheTuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CachePer Buer
 
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI Alliance
 
Raspberry Pi 3 + UART/Bluetooth issues
Raspberry Pi 3 + UART/Bluetooth issuesRaspberry Pi 3 + UART/Bluetooth issues
Raspberry Pi 3 + UART/Bluetooth issuesyeokm1
 
ENVOIE DE SMS LONG AVEC PYTHON-GAMMU
ENVOIE DE SMS LONG AVEC PYTHON-GAMMUENVOIE DE SMS LONG AVEC PYTHON-GAMMU
ENVOIE DE SMS LONG AVEC PYTHON-GAMMUJosué Romba
 
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노chcbaram
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module ProgrammingSaurabh Bangad
 
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilKernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilAnne Nicolas
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxYoss Cohen
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
 
HDR and WCG Video Broadcasting Considerations.pdf
HDR and WCG Video Broadcasting Considerations.pdfHDR and WCG Video Broadcasting Considerations.pdf
HDR and WCG Video Broadcasting Considerations.pdfssuserc5a4dd
 
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI Alliance
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overviewLinaro
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...Arti Parab Academics
 

La actualidad más candente (20)

An Introduction to Video Principles-Part 2
An Introduction to Video Principles-Part 2An Introduction to Video Principles-Part 2
An Introduction to Video Principles-Part 2
 
Tuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish CacheTuning the Kernel for Varnish Cache
Tuning the Kernel for Varnish Cache
 
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion SystemsMIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
MIPI DevCon 2016: MIPI CSI-2 Application for Vision and Sensor Fusion Systems
 
Raspberry Pi 3 + UART/Bluetooth issues
Raspberry Pi 3 + UART/Bluetooth issuesRaspberry Pi 3 + UART/Bluetooth issues
Raspberry Pi 3 + UART/Bluetooth issues
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Ch07
Ch07Ch07
Ch07
 
ENVOIE DE SMS LONG AVEC PYTHON-GAMMU
ENVOIE DE SMS LONG AVEC PYTHON-GAMMUENVOIE DE SMS LONG AVEC PYTHON-GAMMU
ENVOIE DE SMS LONG AVEC PYTHON-GAMMU
 
강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노강좌 07 ARM 프로세서용 아두이노
강좌 07 ARM 프로세서용 아두이노
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans VerkuilKernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
 
Switch & LED using TMS320C6745 DSP
Switch & LED using TMS320C6745 DSPSwitch & LED using TMS320C6745 DSP
Switch & LED using TMS320C6745 DSP
 
HEVC Definitions and high-level syntax
HEVC Definitions and high-level syntaxHEVC Definitions and high-level syntax
HEVC Definitions and high-level syntax
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar Leibovich
 
HDR and WCG Video Broadcasting Considerations.pdf
HDR and WCG Video Broadcasting Considerations.pdfHDR and WCG Video Broadcasting Considerations.pdf
HDR and WCG Video Broadcasting Considerations.pdf
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
WaterTech - WTG4SN NB-IoT
WaterTech - WTG4SN NB-IoTWaterTech - WTG4SN NB-IoT
WaterTech - WTG4SN NB-IoT
 
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overview
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
 
Gstreamer plugin development
Gstreamer plugin development Gstreamer plugin development
Gstreamer plugin development
 

Similar a FOSDEM 2024 Neo in the Matrix

Vskills raspberry pi professional sample material
Vskills raspberry pi professional sample materialVskills raspberry pi professional sample material
Vskills raspberry pi professional sample materialVskills
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)ariannaschlegel
 
Build an Open Hardware GNU/Linux PowerPC Notebook
Build an Open Hardware GNU/Linux PowerPC NotebookBuild an Open Hardware GNU/Linux PowerPC Notebook
Build an Open Hardware GNU/Linux PowerPC NotebookRoberto Innocenti
 
Raspberry pi 3
Raspberry pi 3Raspberry pi 3
Raspberry pi 3Vipin V
 
Full Circle número 90
Full Circle número 90Full Circle número 90
Full Circle número 90Huehue 1
 
Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Jonathan Carter
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiAhmad Hafeezi
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la ActualidadLaurence HR
 
Hacker's friendly Open Source Hardware DIY modular Laptop
Hacker's friendly Open Source Hardware DIY modular LaptopHacker's friendly Open Source Hardware DIY modular Laptop
Hacker's friendly Open Source Hardware DIY modular LaptopOlimex Bulgaria
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitIntel® Software
 
From Prototype to Kickstarter to Production: How blink(1) was made
From Prototype to Kickstarter to Production: How blink(1) was madeFrom Prototype to Kickstarter to Production: How blink(1) was made
From Prototype to Kickstarter to Production: How blink(1) was madetodbotdotcom
 
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)ariannaschlegel
 
ODROID Magazine June 2014
ODROID Magazine June 2014ODROID Magazine June 2014
ODROID Magazine June 2014Nanik Tolaram
 
Dockerizing IoT Services
Dockerizing IoT ServicesDockerizing IoT Services
Dockerizing IoT Servicesmsyukor
 
Introduction of raspberry pi
Introduction of raspberry piIntroduction of raspberry pi
Introduction of raspberry pipankaj478
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionIntel® Software
 
Shhh, they're listening, a subjective history of the Internet of Things
Shhh, they're listening, a subjective history of the Internet of ThingsShhh, they're listening, a subjective history of the Internet of Things
Shhh, they're listening, a subjective history of the Internet of ThingsAlexandra Deschamps-Sonsino
 

Similar a FOSDEM 2024 Neo in the Matrix (20)

Vskills raspberry pi professional sample material
Vskills raspberry pi professional sample materialVskills raspberry pi professional sample material
Vskills raspberry pi professional sample material
 
small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)small electronics for your makerspace (clc trendspotting - february 2014)
small electronics for your makerspace (clc trendspotting - february 2014)
 
Build an Open Hardware GNU/Linux PowerPC Notebook
Build an Open Hardware GNU/Linux PowerPC NotebookBuild an Open Hardware GNU/Linux PowerPC Notebook
Build an Open Hardware GNU/Linux PowerPC Notebook
 
Raspberry pi 3
Raspberry pi 3Raspberry pi 3
Raspberry pi 3
 
Full Circle número 90
Full Circle número 90Full Circle número 90
Full Circle número 90
 
Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)
 
6502 in action
6502 in action6502 in action
6502 in action
 
Introduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry PiIntroduction to Arduino & Raspberry Pi
Introduction to Arduino & Raspberry Pi
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Hacker's friendly Open Source Hardware DIY modular Laptop
Hacker's friendly Open Source Hardware DIY modular LaptopHacker's friendly Open Source Hardware DIY modular Laptop
Hacker's friendly Open Source Hardware DIY modular Laptop
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
From Prototype to Kickstarter to Production: How blink(1) was made
From Prototype to Kickstarter to Production: How blink(1) was madeFrom Prototype to Kickstarter to Production: How blink(1) was made
From Prototype to Kickstarter to Production: How blink(1) was made
 
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
Small Electronics for Your Makerspace (CLC Trendspotting - September 2014)
 
ODROID Magazine June 2014
ODROID Magazine June 2014ODROID Magazine June 2014
ODROID Magazine June 2014
 
Dockerizing IoT Services
Dockerizing IoT ServicesDockerizing IoT Services
Dockerizing IoT Services
 
Introduction of raspberry pi
Introduction of raspberry piIntroduction of raspberry pi
Introduction of raspberry pi
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
Introduction to Raspberry PI
Introduction to Raspberry PIIntroduction to Raspberry PI
Introduction to Raspberry PI
 
Shhh, they're listening, a subjective history of the Internet of Things
Shhh, they're listening, a subjective history of the Internet of ThingsShhh, they're listening, a subjective history of the Internet of Things
Shhh, they're listening, a subjective history of the Internet of Things
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 

Más de Olimex Bulgaria

FOSDEM 2024 Electronic boards production automation with KiCAD scripts
FOSDEM 2024 Electronic boards production automation with KiCAD scriptsFOSDEM 2024 Electronic boards production automation with KiCAD scripts
FOSDEM 2024 Electronic boards production automation with KiCAD scriptsOlimex Bulgaria
 
Open fest 2019 WiFi mesh for monitoring and control of large areas
Open fest 2019 WiFi mesh for monitoring and control of large areasOpen fest 2019 WiFi mesh for monitoring and control of large areas
Open fest 2019 WiFi mesh for monitoring and control of large areasOlimex Bulgaria
 
NB-IoT technology RuseConf 2019 Bulgarian
NB-IoT technology RuseConf 2019 BulgarianNB-IoT technology RuseConf 2019 Bulgarian
NB-IoT technology RuseConf 2019 BulgarianOlimex Bulgaria
 
NB-IoT technology RuseConf 2019
NB-IoT technology RuseConf 2019NB-IoT technology RuseConf 2019
NB-IoT technology RuseConf 2019Olimex Bulgaria
 
Open Source Hardware for Smart City Fosdem 2019
Open Source Hardware for Smart City Fosdem 2019Open Source Hardware for Smart City Fosdem 2019
Open Source Hardware for Smart City Fosdem 2019Olimex Bulgaria
 
Open Source Hardware for Industry 4.0
Open Source Hardware for Industry 4.0Open Source Hardware for Industry 4.0
Open Source Hardware for Industry 4.0Olimex Bulgaria
 
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...Olimex Bulgaria
 
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...Olimex Bulgaria
 
How the Open Source technologies can help your city to become an better place...
How the Open Source technologies can help your city to become an better place...How the Open Source technologies can help your city to become an better place...
How the Open Source technologies can help your city to become an better place...Olimex Bulgaria
 
Hacking Soldering Robot with TERES-I DIY laptop
Hacking Soldering Robot with TERES-I DIY laptopHacking Soldering Robot with TERES-I DIY laptop
Hacking Soldering Robot with TERES-I DIY laptopOlimex Bulgaria
 
Developing an open source hardware laptop with KiCad fosdem 2018
Developing an open source hardware laptop with KiCad fosdem 2018Developing an open source hardware laptop with KiCad fosdem 2018
Developing an open source hardware laptop with KiCad fosdem 2018Olimex Bulgaria
 
Open Source Hardware. Why we do it, why it matters?
Open Source Hardware. Why we do it, why it matters?Open Source Hardware. Why we do it, why it matters?
Open Source Hardware. Why we do it, why it matters?Olimex Bulgaria
 
Designing with KiCAD of 64-bit ARM board
Designing with KiCAD of 64-bit ARM boardDesigning with KiCAD of 64-bit ARM board
Designing with KiCAD of 64-bit ARM boardOlimex Bulgaria
 
SMT technology design and production
SMT technology design and productionSMT technology design and production
SMT technology design and productionOlimex Bulgaria
 
Physical Computing with Linux
Physical Computing with LinuxPhysical Computing with Linux
Physical Computing with LinuxOlimex Bulgaria
 
OpenFest 2013 Open Source Hardware (OSHW) made in Bulgaria
OpenFest 2013 Open Source Hardware (OSHW) made in BulgariaOpenFest 2013 Open Source Hardware (OSHW) made in Bulgaria
OpenFest 2013 Open Source Hardware (OSHW) made in BulgariaOlimex Bulgaria
 

Más de Olimex Bulgaria (17)

FOSDEM 2024 Electronic boards production automation with KiCAD scripts
FOSDEM 2024 Electronic boards production automation with KiCAD scriptsFOSDEM 2024 Electronic boards production automation with KiCAD scripts
FOSDEM 2024 Electronic boards production automation with KiCAD scripts
 
Open fest 2019 WiFi mesh for monitoring and control of large areas
Open fest 2019 WiFi mesh for monitoring and control of large areasOpen fest 2019 WiFi mesh for monitoring and control of large areas
Open fest 2019 WiFi mesh for monitoring and control of large areas
 
NB-IoT technology RuseConf 2019 Bulgarian
NB-IoT technology RuseConf 2019 BulgarianNB-IoT technology RuseConf 2019 Bulgarian
NB-IoT technology RuseConf 2019 Bulgarian
 
NB-IoT technology RuseConf 2019
NB-IoT technology RuseConf 2019NB-IoT technology RuseConf 2019
NB-IoT technology RuseConf 2019
 
Open Source Hardware for Smart City Fosdem 2019
Open Source Hardware for Smart City Fosdem 2019Open Source Hardware for Smart City Fosdem 2019
Open Source Hardware for Smart City Fosdem 2019
 
Open Source Hardware for Industry 4.0
Open Source Hardware for Industry 4.0Open Source Hardware for Industry 4.0
Open Source Hardware for Industry 4.0
 
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...
Open fest2018 LoRa, LoRa WAN, The Thing Network - capabilities, myths, applic...
 
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...
Как технологиите с отворен код могат да помогнат Вашият град да стане по-добр...
 
How the Open Source technologies can help your city to become an better place...
How the Open Source technologies can help your city to become an better place...How the Open Source technologies can help your city to become an better place...
How the Open Source technologies can help your city to become an better place...
 
Hacking Soldering Robot with TERES-I DIY laptop
Hacking Soldering Robot with TERES-I DIY laptopHacking Soldering Robot with TERES-I DIY laptop
Hacking Soldering Robot with TERES-I DIY laptop
 
Developing an open source hardware laptop with KiCad fosdem 2018
Developing an open source hardware laptop with KiCad fosdem 2018Developing an open source hardware laptop with KiCad fosdem 2018
Developing an open source hardware laptop with KiCad fosdem 2018
 
Robko js
Robko jsRobko js
Robko js
 
Open Source Hardware. Why we do it, why it matters?
Open Source Hardware. Why we do it, why it matters?Open Source Hardware. Why we do it, why it matters?
Open Source Hardware. Why we do it, why it matters?
 
Designing with KiCAD of 64-bit ARM board
Designing with KiCAD of 64-bit ARM boardDesigning with KiCAD of 64-bit ARM board
Designing with KiCAD of 64-bit ARM board
 
SMT technology design and production
SMT technology design and productionSMT technology design and production
SMT technology design and production
 
Physical Computing with Linux
Physical Computing with LinuxPhysical Computing with Linux
Physical Computing with Linux
 
OpenFest 2013 Open Source Hardware (OSHW) made in Bulgaria
OpenFest 2013 Open Source Hardware (OSHW) made in BulgariaOpenFest 2013 Open Source Hardware (OSHW) made in Bulgaria
OpenFest 2013 Open Source Hardware (OSHW) made in Bulgaria
 

Último

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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
  • 26. What’s next USB-NeoHUB Joysticks support RetroDuino libraries GPIO, I2C, SPI, UART accessable by NeoBasic – home automation, Arduino like projects controlled in BASIC Neo6502-Laptop
  • 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