GithubHelp home page GithubHelp logo

abelykh0 / stm32f407-z80emu Goto Github PK

View Code? Open in Web Editor NEW
28.0 9.0 5.0 6.67 MB

Spectrum ZX Emulator on STM32F407

License: Other

C 94.78% C++ 4.88% Assembly 0.35%
stm32 stm32f407 emulator zx-spectrum stm32f4 z80

stm32f407-z80emu's Introduction

stm32f407-z80emu

Spectrum ZX 48K emulator (using STM32F407 microcontroller)

Breadboard

What it can do

  • Emulate Spectrum ZX 48K
  • Load snapshot in .Z80 format from SD card
  • Save snapshot in .Z80 format to SD card
  • Output some sounds to USB MIDI

ZX Spectrum Emulator on STM32F407

Video

Installation

If you want to try my project, this is the only part that you need.

Hardware Qty
Black F407VET6 board 1
VGA connector 1
PS/2 Keyboard 1
Power supply 5V DC for keyboard 1
Resistors 470 Ohm 3
Resistors 680 Ohm 3
Resistors 2.2 KOhm 2
Resistors 3.3 KOhm 2
Breadboard 1
Jumper wires 18
ST-Link v2 or clone 1

Software: Install free IDE System Workbench for STM32. I am using Windows 10, however STMicroelectronics claims that it also supports Linux and Mac.

How to connect wires:

PIN Description Connect To Output
PE8 Red 1 Resistor 470 Ohm VGA red (1)
PE9 Red 2 Resistor 680 Ohm VGA red (1)
PE10 Green 1 Resistor 470 Ohm VGA green (2)
PE11 Green 2 Resistor 680 Ohm VGA green (2)
PE12 Blue 1 Resistor 470 Ohm VGA blue (3)
PE13 Blue 2 Resistor 680 Ohm VGA blue (3)
PD15 HSync VGA HSync (13)
PD14 VSync VGA VSync (14)
PB14 CLK Resistor 2K2 to keyboard CLK and resistor 3K3 to GND
PB13 DATA Resistor 2K2 to keyboard DATA and resistor 3K3 to GND
G Ground VGA Ground (5,6,7,8,10), '-' of passive speaker

Third party software

This project uses several libraries (in addition to HAL drivers from STMicroelectronics):

Plans for the future / issues

  • Interference when using SD card or playing sound
  • Flickering in some games
  • The speed is 12% faster than it is supposed to be

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.