RP6502 Ep7 - The Operating System - featuring Colossal Cave Adventure

preview_player
Показать описание
Homebrew 6502 computer OS. Powered by Raspberry Pi Pico.

Рекомендации по теме
Комментарии
Автор

Is using a couple of RPi Picos to make this thing happen fast and cheap cheating? Absolutely. Is it a good idea? Absolutely. But say I wanted to "do it for real" like it was in the 1980s*. I think I can make the case for this still being the right way to do it.

The elephant in the room: Dave Murray's project. I see other people have made smaller scale projects like the picocomputer 6502 and the Agon and … I see some fair criticism from them by contrast with their own projects. And I could write a book about where I think his project went off the rails, but I won't because I see a much larger group of people who did _nothing_ posting a lot of really mean-spirited mockery of him and his project, and I'm not casting my lot in with them. I hope he and his friends and partners learned a lot, and if they ever make a cheap FPGA version I might pick one up.

That said: * Using custom chips and microcontrollers is TOTALLY fair for the 80s! The ZX Spectrum used its ULA to save money. The Apple IIe had two custom chips to save money. Most of the machines of the early 80s that were successful had some kind of custom hardware to do what they did and keep costs down. The Apple IIgs included ADB before the Mac even had it. How was it done? Microcontroller. The IBM PC/XT and AT had keyboards folks think are appropriate for retrocomputers today as is. How were they implemented? Microcontrollers. Of course the video and sound chips were integrated their own thing anyway.

So why wouldn't you use a microcontroller for those tasks today? Well because the microcontroller is more powerful than the CPU you're connecting it to! … So? It's cheating! … So? There's not a good argument that doesn't boil down to mockery from the same kind of crowd mocking Dave Murray's machine—and often some of the same people. My advice to a hypothetical "real 80s style machine" designer is to refuse to take criticism from people you wouldn't take advice from. Which possibly means you shouldn't take that advice from me because I haven't built any custom computers have I?


So if you were doing this the hard way you might use PS/2 keyboard, SNES controllers, SD card, and whatever you've gotta do for video and sound because NOBODY MAKES VIDEO AND SOUND CHIPS LIKE THAT ANYMORE. Okay, tell me, what happens if you have a microcontroller with a USB host stack and set it up so that if you read a certain block of memory it emulates a PS/2 keyboard here, a SNES controller shift register there, bit-banged i2c for SD card over there… What've you done?

Well you've let yourself use any normal USB keyboard, cheap (but decent) Xinput-compatible RetroFlag SNES-type controllers, and whatever type of storage media you want. But can you improve upon that? The IBM AT had a microcontroller to wrangle the keyboard. At some point IDE and SCSI replaced the complex controller mechanisms used before, etc. What if you implemented a write-read-read protocol on an address to read the full SNES controller? Would that be useful? This is all stuff that would be trivial for your modern retro machine and _could_ be implemented in hardware … but doesn't have to be, because one modern microcontroller can do all of that using USB and … whatever … for storage.

Okay, so … what about the controller doing the filesystem instead of you on the host processor? That's totally a cheat! Nothing worked that wayyyt a second, Commodore worked that way. The "OS" was on the drive and the filesystem was the drive's to manage. You simply sent commands to the drive and read back the responses. Poorly because Commodore BASIC didn't have disk commands built in to do all of that. But you could implement them.

Using the RPi Pico isn't really a "cheat" after all. It's just a modern (cheap!) way of doing what they did before. And it's got the advantage that the system ROM could just as easily be written to a file on a microSD card with the RPi Pico just pretending to be your system ROM. Isn't that a waste of the pico? I mean yes, but very fast EEPROMs are expensive, so maybe no?

knghtbrd
Автор

Wow this is really impressive! I‘d love a more technical explanation of the interface between the 6502 and the pico. Thanks for the video!

gartentisch
Автор

What do you do for a living? This is some next level stuff!

dazealex
Автор

Fantastic stuff. I'm loving this series. Keep up the great work 👍

slaine
Автор

Back in the day, I wrote a PILOT language interpreter for a KIM-1 ..: this is next level awesome :)

The_Temple
Автор

I would love to hear more about how the two Pi Picos are physically and logically connected to the 6502 CPU. Your current presentation is well paced and the block graphics make it easy to follow along. I too have thought about using multiple Pi Picos in a computer project.

BalugaWhale
Автор

Dude, I have a 6502 coming in the mail. I am so excited to start my project.

just_a_fungi_
Автор

A brilliant project and excellent videos about it. I've enjoyed building an RP6502 and am enjoying learning how to program it. I also have a Commander X16, an Agon Light, and several other "retro" computers, but they're sitting unused because the picocomputer is more interesting and more fun! I hope to share my programs for it, once they're good enough to be worth sharing.

ceptimus
Автор

holy moly that's really impressive! back in the days i programmed my c64 in assembler. today i'm a developer for embedded systems on linux basis. i build my own linux kernel with buildroot. some hardware drivers too. i think i will build your pico computer. i have build a 6502 system on breadboard with eeprom. you're right this is no fun. with your system development will be much faster.

havelsand
Автор

This project is really coming along. It's weird to hear "protected mode" and 6502 in the same sentence.

twopoint
Автор

I love how you said "Is it cheating? You bet it is!" LOL

microhobbyist
Автор

This is some epic hackery! I just stumbled across your channel watching rehsd, he's building himself a 286 computer from scratch.
Understand it's no 6502, but he's doing similar work.

TradieTrev
Автор

What a cool project, more detail please.
It's kind of like fitting a model T motor in a Prius

matthewway
Автор

Very impressive and I am also loving the series! Is the intention to move the design to a PCB at some point?

andrewherron
Автор

Gimme all the detail you got! Your work on this project is incredible.

GregCoonrod
Автор

Amazing video like all the others. I have to watch and stop and rewind many times to absorb it all, and I am sure I still miss things. Thank You very much!

njcvyellow