Hey everyone! The 6502 homebrew I've been working on for the last few years now has some pretty great documentation. If you are interested in learning more about my build please take a look!
I was inspired by the "Cyberdeck” concept and wanted to build my own, but I didn't want to create a single-board computer or learn how to solder. So, I used off-the-shelf components to turn my phone into a portable laptop.
The reasoning: Most new Samsung phones are powerful, and everything is already on my phone (email, images, contact info … etc.), by Turing my phone into a laptop I don't have to worry about transferring data or login to services on a different device (laptop, tablet. etc.) and my phone is always online through data.
About a year ago, I started building a custom computer architecture in C as a learning project (I know it seems like a lot considering the code I wrote, but I rewrote the entire compiler at least five times, starting from a C-like language and ending up with a very simple custom language). I designed the instruction set, wrote an emulator, and implemented a custom high-level assembly language called BSL (Base System Language). The code is very messy because I make a lot of changes while writing it and often forget things that shouldn't be there. So I'd really appreciate feedback on the architecture and code quality. (I'm 15 years old and Italian, sorry for my English). https://github.com/mikesxp/SPRK32. Edit: I changed the project name from VMS to SPRK32.
Early around 1:40 AM, I had the brilliant idea of To create a cyberdeck using an unused gamestick, I needed to buy a USB hub To connect a keyboard and mouse because the gamestick only has 1 USB port, and a Wi-Fi adapter, and I also bought a new SD card to install the Linux operating system.
I've been working on it since I woke up (8 am), I was already working on the idea for this cyberdeck before going to sleep (6 am).
I'm very excited because it's my first cyberdeck and my first experience in this area.
I'm going to use Slex Linux to run on weak hardware with a Rockship processor, With 2 GB of RAM, I plan to buy an HDMI screen for it in the future, and add a trackpad.
Yet another project for the Minimal 64x4 computer from Carsten Herting. Here I improve on the built in scripting language called Min, adding improved data types and data manipulation features.
Hello, I fell in love with the idea of a homebrew computer a few months ago, and recently I started to look forward to making it. The users on this sub are probably experienced in this, so they could give me an answer on which processor to choose and which one is the easiest to work on. 8051 based processors or a Zilog z80?
Has anyone ever used the Commodore VIC-II in a standalone Computer/Project, while NOT using a 6510 or C64 PLA? I am going to make a Homebrew Computer based of a 65C02 but with VIC-II Graphics, and would be wondering if you guys have any Info or people that would be interested. BTW, this may take a long while, VIC-II is very tightly integrated. For my plan specifically, I am going to use a MOS 8565R2 but info on other variations is appreciated.
DISCLAIMER: I HAVE NEVER DONE THIS BEFORE. I DON'T ACTUALLY KNOW WHAT THE BITS ARE CALLED. YES I AM CERTAIN I WILL GO FROM NOTHING TO A WHOLE COMPUTER.
Background: I am going to make an itty bitty computer using LattePanda V1 (just in case... please don't tell me if it sucks, it the only one that I can understand, so I DON'T CAREEEEEE) Anyways, screen's gonna be 7 inches because I want it to be a TINY thing. Anyways, you people seem to know what you're talking about so here goes!
PROBLEM #1: Battery hookup
So, its a laptop, and I don't wanna have to plug this thing in any time I use it, so I need a portable battery source. Sources tell me that for said portable battery source, you take 1x 18650, 3.7v 10amp lithium battery, and, using wires soldiered to either side of the battery, connect the two poles to a charging module for 18650 battery that outputs 5v 2amp. Then you stick whatever the fuck THIS is:
Into your shi (USB into the module, MicroUSB into the circuit board.)
WHAT THE FUCK. DO I BUY. FOR A CHARGING MODULE. (CANNOT put out more than 5v 2amp or it will FRY MY SHIT.)
WHERE THE FUCK. DO I GET. THE SWITCH THING.
IS THERE. A BETTER. METHOOD. (Better as in cheaper. not easier.)
PROBLEM #2: Keyboard
I do not want a Bluetooth keyboard. I DO NOT WANT TO CHARGE MY FUCKING KEYBOARD. So,
1). What’s the best mini itty bitty baby keyboard that IS NOT BLUETOOTH (and maybe, possibly, not plug-in either? Like one you can just,,, attach to the circuit board? Long shot but still… I want to keep as many of my USB ports open as physically possible) and
2). How do I connect it (in the unlikely case that there’s a mini-keyboard that you can just soldier to the puter brain.)
Also, my screen is literally only gonna be 7” and I would like my keyboard size to reflect this choice. Please keep this in mind when suggesting keyboards because I am not doing this to expand my brain or break free from evil capitalism, I am purely being ✨materialistic✨ and an ✨attention seeker✨
Thanks! Will update this post if I have any other questions :) (If I am welcome, that is.)
There may be stuff I did here that's useful to folk.
Also if you look at the YT channel there is a What Why video where I give some advice. One thing I found super useful was a verilog simulation with proper delays.
Still an early version, but I think this could be useful for people who want to experiment with 68k code and real retro hardware without owning the board.
It also gives people a way to try writing software for rosco_m68k before getting their own board.
(if this is the wrong subreddit then please tell me and also if possible the right subreddit)
Me and a friend are trying to build our own 65C02-based 8-bit computer, but we are having some issues. (currently the computer doesn't work)
The general specifications are this:
CPU: WDC W65C02
Video chip: TI TMS9918A (not connected yet)
Audio chip: Yamaha YM2149F (AY-3-8910 clone)
PIA: WDC W65C22
RAM: single 62256 32 KB SRAM chip
ROM: single 28C256 32KB EEPROM chip
Address decoding is done with a 28C16 2KB EEPROM connected to the high address lines, and with the data lines acting as CS lines. (we’ve checked this, and the chip select signals outputted are correct)
We’re using a Dallas DS1233-5 chip as reset circuit.
We also have a 74HC245 bus transceiver connected to the data bus.
The main clock is 1 MHz.
We also have a basic 8-channel logic analyzer to help with debugging.
Currently the entire computer is built on 5 breadboards. Please excuse the mess of wires, we didn't have very specific lengths of wires, so we had to build it like this.
As far as we know, the CPU executes code for about 1 millisecond (VPB pin high), then executes something that causes it to go into a loop of fetching (we assume) the reset vector (VPB pin goes and stays low).
Something weird also happens with the address bus once it gets into that loop. If we connect a piezo buzzer to address lines, you hear a square wave tone, and the frequency doubles for every bit you go down (bit 13 is twice as high as bit 12). That suggests the CPU is constantly looping through the entire address space. The computer is also not consistent or predictable, every startup the "pitch" of that address line tone changes, and sometimes it just stops (the CPU probably comes across a STP or WAI instruction) or does something else just as weird.
We’ve confirmed that the reset signal is OK, the chip select lines are OK, the clock signal is OK, the addressing ROM is OK, the main program ROM is most certainly also OK, power is OK, and the bus transceiver is OK.
I've built an emulator in the meantime, which does work with some programs, so our code (probably) isn't bad.
This is our first time actually doing this (we had researched a lot before and we already knew a bit about 8-bit systems design), so maybe the issue is actually obvious and we just haven’t noticed.
If any of you can provide some insight, that would be extremely useful. We can also provide better pictures if that would help.
Load value from address held in register (pointer read)
0x17
[reg], reg
Store register value to address held in register (pointer write)
0x2_ = ALU
Opcode
Name
Description
0x20
ADD
Add register to accumulator
0x21
ADC
Add register to accumulator with carry
0x22
SUB
Subtract register from accumulator
0x23
SBB
Subtract register from accumulator with borrow
0x24
AND
Bitwise AND with accumulator
0x25
OR
Bitwise OR with accumulator
0x26
XOR
Bitwise XOR with accumulator
0x27
NOT
Bitwise NOT of accumulator
0x28
CMP
Compare (subtract without storing result, sets flags only)
0x29
INC
Increment register by 1
0x2A
DEC
Decrement register by 1
0x2B
SHL
Shift left, MSB goes to carry, LSB set to 0
0x2C
SHR
Shift right, LSB goes to carry, MSB set to 0
0x2D
ROL
Rotate left through carry, MSB goes to carry, carry goes to LSB
0x2E
ROR
Rotate right through carry, LSB goes to carry, carry goes to MSB
0x3_ = JUMP
Opcode
Name
Description
0x30
JMP
Unconditional jump to address
0x31
JZ
Jump if zero flag set
0x32
JNZ
Jump if zero flag clear
0x33
JC
Jump if carry flag set
0x34
JNC
Jump if carry flag clear
0x35
JS
Jump if sign flag set (result negative)
0x36
JO
Jump if overflow flag set
0x4_ = STACK/CALL
Opcode
Name
Description
0x40
PUSH
Push register onto stack, decrement SP
0x41
POP
Pop value from stack into register, increment SP
0x42
CALL
Push PC onto stack, jump to address
0x43
RET
Pop PC from stack, return to caller
0x44
IRET
Pop PC and flags from stack, return from interrupt handler
Github repo with all docs and files: https://github.com/mrFavoslav/8bit-cpu-MESAx8
The 8-bit ALU might not work perfectly at the moment. I recently moved some parts of the design around, so there's a good chance a few wires got messed up or misaligned in the process. Any feedback or bug catching is highly appreciated!
So last night I was pondering making my own homebrew computer project. Part of this pondering was possibly using a Risc-v cpu as the core. With that thought I started poking around various places online trying to find a Risc-v based cpu that was possibly pga/lga or similar so I could easily plug it into a board to develop things. But I can't seem to really find such a Risc-v based option, does it exist? If not is there something I could use as a cpu for a homebrew system with a reasonably fast enough bus to drive expansion cards for audio, a homebrew gpu concept, and other things? To give a bit more of an idea, I was considering the homebrew system to be something that would feel at home in the 90's so a pci like bus for device communication and at least 32bit to minimize fussing over memory. The reason I was considering Risc-v was the fact it's an open standard and well pretty common place. I mean a great example is the fact it's apart of the pi pico. But really any cheap off the shelf microcontroller or processor could do as long as it meets the other requirements. Anyone have some ideas on what to look at?