65c22 connected, new data, and address-bus ribboncables!
First led on Register B blinking!
Notes: Temporary display wil be 2×16 Chars. Ram in place, but not connected (is emulated by the Arduino Mega at the moment) Rom is somewhere halfway the atlantic ocean .. still waiting on that one. Ben Eatons clock module is disconnected, i’m using the Arduino as programmable clock right now. (There wil be a little display and a rotary encoder to set clock speed.)
lda #$ff ; all bits
sta $6002 ; set direction (out) for B register
lda #$80 ; set 1 bit
sta $6000 ; set register B
lda #$00 ; reset bit
sta $6000 ; set register B
jmp $8005 ; jmp to bit set part
Almost … friday will be the day i’ll attend May Contain Hackers. Besides the awesome villages and talks.
UPDATE: 20220727 UPDATE: 20220812
You get a hackable badge, this one is more amazing as previous versions.
I can’t wait to have a go at this cool gadget. I personally could do without the pcb fancy design.
Espressif ESP32 Wrover-E with 16MB of flash storage and paired with 8MB of PSRAM, for front-end badge computing and compatibility with the badge.team ecosystem back to the 2017 SHA badge.
Lattice ICE40UP5K FPGA for hardware-accelerated graphics and user FPGA hardware designs.
Raspberry Pi RP2040 for advanced USB communication and board management.
2Ah LiPo battery to give you a full day of fun on a charge.
16-bit DAC with stereo output to headphone socket, onboard mono speaker.
ILI9341 2.2 inch TFT display with a 240 by 320 pixel resolution.
Bosch BNO055 orientation sensor.
Bosch BME680 environmental sensor.
The usual array of addressable LEDs.
SAO and Qwiic expansion connectors, FPGA PMOD expansion, plus onboard prototyping area.
Downloadable apps, micro python, Arduino ide programming. All kinds of GPIO pins, leds buttons, sound. Check out https://hatchery.badge.team/
You can play with this virtually here! https://wokwi.com/projects/335445228923126356
So much potential! Great start for a DIY project.
I won’t post about the workings, thats all well documented online. I shall post about the hacks/findings i personally did.
UPDATE: 20220727 Made a micropython program to keep your NameTag level to the ground (Better version)
UPDATE: 20220812
Someone made a 8bit logic analyser using the pmod connector !
First tests with a Vuze Xr. (unedited unoptimized)
It can record 360 movies or take 360 degrees pictures. Besides that it can do stereoscopic recording for using in VR glasses. (2D 180 tested in a oculus vr set) In the past i made those 360 degrees pictures manually using Hugin for example. Also stereoscopic images, using two pictures. But it was a lot of work, and most of the times the quality wasn’t worth it.
Due to eeproms being scarce, i’m going to use a arduino as Rom emulator. Below is a test setup i’m going to build.
Made the drawing in Kicad.
KiCad is a free software suite for electronic design automation. It facilitates the design and simulation of electronic hardware. It features an integrated environment for schematic capture, PCB layout, manufacturing file viewing, SPICE simulation, and engineering calculation.
Memory assignment:
$8000-FFFF - Rom
$4000-7FFF - Ram ?
$2000-3FFF - Multiple times the 6522 *
$0000-???? - Ram probably
* This is due to the fact i am only using Address lines: 0,1,2,3,13,14,15
As posted before, i found a cartridge in my collection a while ago. I don’t know where i’ve got this one from.
While searching on the internet for more information, i really couldn’t find anything about it. Not even on collectors sites.
Where did it come from, what does it do?
It says: Data Manager 64 (1984) , Softworld and Handic.
I can find many cartridges by Handic. I’ve checked all database/filers i could find. Non looked like this.
Some screenshots
Next to try .. Dumping the cartridge to file. Probably by changing the way the C64 starts a autostart cartridge. So i have to modify the cartridge port, and put a cross connection on the lines EXROM and GAME, this will change the memory addresses ($8000/$A000) where a cartridge is placed. Then the commodore will start normally, and i can dump the cartrige memory locations to a file.
So pins 8 and 9 have to be switched around. The C64 autostarts a cartridge when it find certain data on $8000
Meanwhile i try to contact some collectors of cartridges.
Update: 20220721 .. VIA chip installed Update: 20220801 .. changed layout, addressing and added rom, see below post.
Such a influencial little processor … Apple, Vic-20, C64 (with modifications), PET, BBC Micro, Oric, Atari and Nintendo.
Another (big brother) influencial CPU is the 68000. (Amiga/Atari ST/ Macintosh/Sinclair)
I’ve made a 680x computer in the past, and i want to make another one.
This one will be based on a 6502, because i used to program on this cpu when i got my Vic-20.
Goals of this project:
6502 Cpu
Memory and Rom
Rom must contain a good machinecode monitor
Adjustable clock
Now using Ben Eatons clock diagram, but i will move this to a programmable arduino, with a display which shows the clock rate
Hex keyboard ro program the machine, just like picture below
Display which was a resolution of at least 640×480
It will be a slow screen, character printing and a gfx mode?
First probably a SPLC780 HD44780, so i can enter/edit machine code.
Hopefully using a SID chip
Hardware monitoring of the address and data lines like movie below
Programming via serial/usb, by halting the 6502 cpu and pushing data into memory or fake-eprom with a arduino
Save/restore by modifying memory
Small
Example of Hex keyboard
Update 20220721
Via chip is on the board. For now i’m using a old display, like this one
I was planning to use this one
The graphic capable 12864 display (128 x 64 pixels)
I will reuse the schematics i’ve used for the 680x computer. (Posted above)
Update: 20220801
Added ROM, and changed layout. Every breadboard has a function now.
Upper left, Ben’s Clock module (this is going to be changed to a arduino with display which shows frequency) Upper right, power-on reset (Reused part of C64 schematic) Second row left, the 6502 On the right the ROM, RAM i also going to install here. 3rd Row, Address decoding, this is going to be a dynamic setup using dip switches and a eeprom for decoding (i know, this kind of decoding is slow, but i don’t need speed), on the right probably the hex keyboard with its own 6522. 4rd row left, a temporary display 16X2 connected via a 6522. Here i want to have a graphical display. 4rd row right (not started this part yet) a sound device. SID or a Yamaha sound chip i still have.
Below some examples and connection diagrams to control displays. More code and complete schematics will be added on this page or on a separate projects page.
UPDATE 20230119 Cost of 20×4 display in 1998
LCD
I’ve used a LCD display like this (HITACHI HD44780) on my PC in the 90s, and also written code to use this as a monitoring device on my amiga.
On Linux i used LcdProc – This module also was equiped with a serial connector
Now (2023) it is 8 euros! When bought now fl to euro 98 Euro or 107 $
Some arduino’s have embedded displays like those i’ve used for a Lora project.
No usedWifi packet monitorLora test
Other means of connecting : SPI
SPI connected display
Nextion
Nextion is a Human Machine Interface (HMI) solution combining an onboard processor and memory touch display with Nextion Editor software for HMI GUI project development.
Using the Nextion Editor software, you can quickly develop the HMI GUI by drag-and-drop components (graphics, text, button, slider, etc.) and ASCII text-based instructions for coding how components interact on the display side.
Nextion HMI display connects to peripheral MCU via TTL Serial (5V, TX, RX, GND) to provide event notifications that peripheral MCU can act on, the peripheral MCU can easily update progress, and status back to Nextion display utilizing simple ASCII text-based instructions.
edit cmdline.txt
add "fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo"
at the end
edit config.txt
add between custom comments at the bottom
dtoverlay=piscreen,speed=24000000,rotate=90
# Or check http://www.lcdwiki.com/3.5inch_RPi_Display
Above display’s i’ve used for Picore Players and the Lidar POC
To try: Getting above display running with a arduino https://github.com/PaulStoffregen/XPT2046_Touchscreen
Raspberry HDMI display
Easiest of them all, just connect with HDMI, there is a adaptor for hdmi-hdmi (versions 1,2,3) and hdmi-mini-hdmi for RPi4 variants.
Epaper and 7-Segment displays
Other means of displaying information are for example
Epaper
ESP with epaper module, disconnected power for a while, artifacts appear.
7 Segment displays
I used a lot of 7-Segment display’s in the past. They look cool and are hardcore.
My homebrew computer uses this
Nixie tubes!
And there are https://en.wikipedia.org/wiki/Nixie_tube .. I’ve never had those
Above bigger 2D display i used with Wled and a digital microphone, so its sound reactive. The lower part i got in recently .
Example is using my ledserver, see other post, but i intent to made a easy to configure node red panel where the to be controlled devices are preconfigured.
My tank mouse died .. beyond repair. Blue 9pins to ps2 works great!
A switchless (using key combination) diskdrive switcher df0<>df1
I used to make a floppy switch myself in the past, i used a wirewrap socket, and a cross switch. Made a hole in the back, with the little switch. This one does not need a hole in your case for the switch.
Own floppy switch
Gotek Floppydrive Emulator with Rotary Encoder
Gotek drive ontop of my 5.25″ drive with adaptorDisplay and usbstick port
This drive supports a lot of disk formats and systems, i will have to look into that .. https://github.com/keirf/FlashFloppy/wiki/Host-Platforms
"If something is worth doing, it's worth overdoing."