It really was another time. In those days spirits were brave, the stakes were high, men were real men, women were real women and small furry creatures from Alpha Centauri were real small furry creatures from Alpha Centauri. And if you wanted to play a game on a CD you had to start by writing your own kernel.
Yeah, I was thinking the same thing. Also, "David asked me to design a board that could interface the C64 with the Gamduino. Here it is." I guess this is a product of a time when really using a computer meant understanding the computer (when it was possible to understand a computer completely).
I don't think you're quite aware how rudimentary a kernel for an 8-bit CPU needs to be in order to fit the project goals. For example the Apple][ ROM was only 4k That's 4096 bytes. Basically it has to handle serial and character IO by polling IO addresses, it needs to output to display memory, it needs cold and warm reboot entry routines that set up memory and the display. That's about it.
@@linuxgeex I don't think you're quite aware how crap I am at assembly. But seriously, I know it is nothing on writing a kernel for a modern machine. But it is non-trivial. I had a hard time in college trying to write an assembly function that took a number and changed the base. Even if it isn't a ton of code, it does require pretty intimate knowledge of the hardware and is difficult to debug. Not exactly a Saturday afternoon project. Particularly for most developers today who are used to high-level languages with visual debuggers and profiling tools such as myself.
I used a visual debugger for 6502 in 1984... it was called the Apple ][ monitor lol. But I think you're right in that the idea of what is 'difficult' these days has changed. Current generation is too accustomed to everything being handed to them on a silver platter, and a prize for last place. It's a great world they want to live in but it's hard to build anything that lasts out of snowflakes.
The thing I really love about 8-bit computers is the fact that you can literally understand the entire thing including the CPU and ram and even the whole electrical design of the motherboard. I never lived through the 8-bit computer era, but I really do love how simple and clean they are to understand, except for the programming for me at least.
Since LGR collects old computers and since old computers typically came in beige (especially business level machines like the IBM PC’s and compatibles and most Macs prior to the iMac G3 (1998). You can thank the Germans for this. Apparently, back in 70’s and 80’s when the personal computers first came to be and became popular, Germany (more specifically what was then West Germany) had enacted an office regulation law dating back to the late 70’s regarding workplace standards that required office equipment including computers to be light-value colors such as off-white, pearl, beige, light grey, etc. This office equipment color standard spread to other parts of Europe. Because computer manufacturers of business computers such as DOS/Windows PC’s didn’t want to have to build separate computer and monitor case colors for North America and Europe, they settled on boring beige or light grey colors as standard. The first DOS/Windows business computer to not come in beige/grey was the black colored original IBM Thinkpad laptop models (300, 700, & 700C). IBM wanted it to stand out so they insisted that Germany grant them an exemption which Germany eventually did but also requiring IBM to include a warning with the Thinkpad that it was not for Office use. They original iMac G3’s and 2nd gen. Powermac G3’ desktop Macs would also break free of the beige/grey color standard, though I don’t know if they too were given any sort of similar exemption or if the standard still applied by 1998. Now some of you will recall there are 70’s/80’s home computers in non-beige/grey colors, particularly black (such as the Sinclair ZX Spectrum and Amstrad computers) and that was because they were not business computers so they where exempt from the German workplace office equipment color standards.
This is the Windows 10 beautiful blue screen :( Your PC ran into a problem that it couldn't handle, and it needs to restart. We're just collecting some error info, and then we'll restart for you. (-1% complete) If you'd like to know more, you can search online later for this error: ADAM_SK_EN_FATAL_ERROR
I wrote a word processor for the commodore pet that used the tape deck for the data at wrote directly to the cassette so was not limited by the computer memory. It was shown on the BBC TV program Tomorrow's World around 1978 or 1979.
Some parents seem to have this idea that kids should be limited in computer time, i've always disagreed somewhat, that its not the computer time that kids need to be limited, its the internet time. Computers without internet are very different devices. A non connected computer is more of a personal and introspective experience than a connected computer
@@sullivanzheng9586 Even games are fine, just don't give them modern kid's games or shows those look like something to make you in to a person with no brain functions. And it is a bit mean but what my dad and my brother did was to let me figure out myself what to do. Countless hours studying how to get pirates games to work and how to solve old driver issues :D Ah I miss not having money 10 years ago at age 13 trying to get stuff to run on intel hd graphics. Edit: I don't miss the 5400rpm hdd though.
The argument is that computing time lowers creativity. Perhaps it is so, but I think that they really miss working with their hands, and playing with an Arduino and blinking LEDs based on the input of a photo resistor with it will undo that lack.
My thing about 8 bit machines - they were completely knowable. Both from a software and hardware perspective. I knew my TRS-80 Model I so well - that when the characters started dropping bits I knew which RAM chip went bad. And that Tandy/RS socketed the RAM. Plus I knew enough about the Z80 CPU that I didn't use an assembler - I'd poke stuff into memory direct from poke/peek. The other benefit was instant on as soon as power was applied.
"instant on as soon as power was applied." - I miss that too - the C64 had a cartridge slot, I had the Terminator game in there, awesome back in the day. Trying to make a phone call on my "smart" phone is a chore now as well as I have to dismiss so many ads before I can actually make a call!
Indeed. I'm getting pretty involved in my Tandy 1000HX right now making expansion cards for that goofy PLUS header. I realize that people do make adapters to go from PLUS to 8-bit ISA (XT), and I've even made one of my own, but you quickly realize that space is still an issue, so the best solution is to build your card straight onto a PLUS card.
Perhaps he should just talk to a Chinese OEM manufacturer, which would whip one up to Dave's exact specs in a short time, and produce it in quantity very affordably. That's what Chinese do very well, inexpensive mass production. Course one would have to keep a close tab on production, because they are known for lack of quality. Just my two cents. ;)
Being born in 1985, these BASIC computers are a little before my time, but in high school I had a TI-83 Plus calculator that came with a nice thick manual. I spent a ton of time going through TI-BASIC and coding games and messaging apps. It was amazing and really got me into programming.
Maybe that is what is wrong with modern computers (even the Raspberry Pi) and why there is a wanting to go retro, the all but zero documentation that comes with them. The last computer I had with decent docs was an NEC APC3, I was able to have some great time programming it.
I think the TI-83/84 plus calculators are pretty great for people interested in a modern 8-bit computer aesthetic. They have similarly limited hardware, a simple OS which starts immediately and shows little more than a blinking cursor, and they have a lot of documentation included with examples for how to program them in BASIC. You can also program them in assembly and directly write to any of the of the hardware registers. There are also "plugins" which extend the Basic version so you can call those commands from a BASIC program. They also have a community around them which has been able to do very impressive things with the limited hardware.
Hell.. even simply just GAMES nowadays. I know it's a little hypocritical to say that I like to just get into a game from the start with tutorials and such, but I fondly think back at the (sometimes) extensive manuals games could come with that lets you ponder over every little thing the game featured, even though most of it you could figure out by playing :D Back in primary school a buddy's father owned a Apple Macintosh and he had SimAnt for it, which had a game manual that not only contained all the ins and outs of the game, but a full biology section (hundreds of pages) about ants and ant life, which subsequently made me learn more about ants and I photocopied the entire manual. Now it's just a simple "Quick Install Guide" or "Quick User Guide" and the rest is all just about playing. Even though nowadays you just want to just install a game and get playing, there's something about having extensive documentation going with it that you can study outside of the game :D
Well, the Ti-83 uses a Z-80, so a tad more modern (by one year) but used almost as widespread as the 6502, and fully intel 8080 compatible. It even runs Doom!
@@WickedMuis The extras were often included to hide the fact that the games themselves were pretty limited compared to their modern day counterparts. It's also tied to the distribution system - today games are "shipped" digitally, which is a Good Thing™ as physical media, packaging and shipping just add cost. If you want extensive manuals and extras today you can still get them: simply buy the "Collector's Edition" and pay extra for the privilege.
What I miss about 8-bit computers: I miss feeling in control of my computer. Maybe it was slow. Maybe it was limited. But it was mine and it didn't do anything(literally nothing) that I didn't tell it to do. I miss the immediacy of the computer following my instructions(How many times have you double clicked on something which didn't respond immediately despite your computer being thousands of times faster than an 8-bit computer). I miss being able to understand what my computer is doing and why(I don't even know how many millions of lines of other people's code is running on my computer nor do have enough time in my life to read all of them even if they were available). I miss being able to run programs without internet access. I miss software being designed specifically for my computer instead of being forced to buy the computer that the software vendor asks for. I miss being independent of huge corporations sending me updates that do God only knows what or why. I miss my computer not getting slower as it ages(How many times has someone told you to buy a new computer because yours is running slower than it did when you bought it). I miss being able to write and run my code without needing multiple devices(development board, cable, software tool chain, and computer used for code editing) which all have to be compatible with each other. I'm the kind of guy who leaves specific wrenches and screwdrivers in places where I'm going to need them so that I don't have to go looking for them later and it irritates me when I have to scrounge together a development environment to alter the behavior of a "brick" which I haven't touched in 3 years. I miss being forced to get creative while adapting my task to a set of known constraints as opposed to the modern paradigm where you just write a logically sound(but perhaps inefficient) program and throw resources at it until it works acceptably. What I don't miss about 8-bit computers: Low capacity floppy disks and the difficulty of moving data from one computer to another.
@Jack's Model Railroad , that's true and they are so cool for what they were built for - simplicity. Modern computers are made for enormous complexity, and they can be used in a very user-friendly way or get dived into extremely deep and complicated engineering. Let's say that back with 8-bitters we behaved in simpler ways, and expected much simpler stuff. Perhaps we don't miss 8-bit, we miss ourselves and simpler times. Because - less is more, keep it small and simple, DIY, small is beautiful... etc. Human being is cursed with finding new ways to get his life complicated, comforting oneself that it somehow makes life easier. Oh, well, tragicomedy drama.
@@8_Bit I still have my original copy of WordWriter 128 disks from high school and disks of my assignments and papers. English was not my forte back then to say the least lol.
You can get relatively cheap FPGAs (sub $9) that'd be able to handle VGA no problem and maybe some extra I/O stuff on top. Keep in mind that $50 may be pushing it in terms of unit cost. The WDC 65C816 (6502 CPU) is $7 alone on Mouser, an FPGA to handle VGA will be another $7 - 12 (i.e. Spartan-IIA Xilinx) and the DRAM will run you around $2-5 (Digikey: 1MB, 8Bit Parallel SRAM). Then you'll need circuitry for misc I/O, SD card interfacing (prob another low level FPGA) and interfacing to the CBM Serial bus which is another $10 due to the FPGA used. The power circuits will run another $5-8 (assuming you want to power it from microUSB) and the board required (you'll be needing atleast a four layer board) assuming 5" x 5" will run $20-25/unit (PCBWay: 4 layer, 6/6mil rules). Assembly will also be potentially costly depending upon volume. If you want to hand assemble, you'd need a reflow oven, hot air tool, solder paste, as steady hand and a stencil. Hand assembly is cheap, but if you go to volume (say 50 board run) you're looking at ~$15 - 25/unit (PCBWay: Turnkey Kitting, ~100 SMT parts, ~5 TH Parts i.e. connectors). $100 is definitely on the high end, but $65-75 / unit is probably more realistic. But this is only back of the napkin math, so there can definitely be some cost savings abound. It'd definitely be a challenge to do the interface over an 8 bit parallel bus whilst aiming for the goal of everything being near bare metal accessible to any coder (as opposed to something like the VIC chip using its VRAM straight from the main data bus to which the programmer can just directly address VRAM instead of obfuscating it through the 8 bit parallel bus).
When buying in bulk the price per unit drops, and considering he is open to using modern components these costs are a bit nuanced but you bring up an (unfortunate) reality.
He showed his GameX selling something like 50 games a day. I have idea insight into his numbers, but I'd say a run in at least 100s of units. 50 would be big for you or me, but check out his subscribers! And two sizeable channels giving adivice here. That's a huge audience. I'd guess easily 50 a month, or per week.
You share much the same history as I as do. I too, never stopped programming and now do it for a living yet, I too miss "the old ways". I will be buying this at 50-100. You are an impressive person.
Look dislikers, if you want to waste your time watching "Linus Tech Tips" "build" a "gaming" PC then go waste your time. But People who build a computer completely from scratch are legends. thank you, 8-Bit. Great content!👍👍👍
If you're using an FPGA for video you should be able to synthesize dual-port RAM which would allow you to directly access it both on the C64 side and the video driver itself. You'd need a voltage conversion on the C64 side which just requires a few extra chips (like an Everdrive)
The most challenging aspect of the Kernel will be dealing with the 64K blocks of memory. Yes the 65816 can address 24-bits, but moving across the 64K chunks can be quite tricky since the ALU is 16-bit (a simple jump table doesn't cut it). There are already solutions to this if you poke around the various forums (6502.org, etc.)
@@colejohnson66 x86 segments can start almost anywhere and overlap each other. Segments of 65816 is just all memory divided into 64K chunks. So you can run a normal 6502 or 65816-enhanced code in a segment, but if you need more memory, you need to long jump to another segment (or perform a long read to reach data there). Not too bad, actually, 65816 is very simple easy to learn device, just like 6502.
@@colejohnson66 Same concept, different implementation. Instead of an offset that gets added to the address like x86 there is an 8-bit bank register which specifies which 64K chunk you are working in.
I wish I lived when 8-bit computing is "mainstream" and you could manually adjust registers on the fly. These systems made you understand what was happening and it was simple enough to learn through playing with it. I wish this because I would have a greater understanding of why things evolved to what they are today and a greater appreciation for the modern hardware that seems so abstracted away from me in the modern Windows PC and even in the Linux world to a point.
The RC2014 is a Z80 based computer designed in 2014. It's actually pretty good and can use a Pi zero to drive the screen and keyboard etc. Take a look.
The fact that you have seen the c64 kernel source could be a problem... You had better hardcore CYA to make sure that none of your code is at all similar to c64 code otherwise they could make your life extremely difficult with copyright issues.
I otoh haven't seen the C64 ROM code, but I've seen the Apple ][ and ][+ ROM code (because they were published openly like IBM's). Of course, that's only 2K, and it's very easy to NOT do the same thing.
@@serb4446 commodore won't, but the kind of company that bought up their IP absolutely lives for this situation. Extracting value from a dead property without having to do any actual work. After trying to contact them so often you can guarantee that 8bitguy is on their radar now and they're just waiting to pounce on him if they find even two matching bytes.
Of course this was meant to be joke. I recall seeing a 500 meg. Hard drive at a software etc thinking who would ever need that much storage when wordperfect ran off of 2 floppy disks. 🤣
I remember the first time I booted up a IBM compatible 386, with it's massive 45MB HDD. Coming from a C64, young me was blown away at the thought of having most every game I owned on hard drive, with no need to swap or flip floppies. Cue 1997 when we finally left the C64 and 386 (we used both side by side as there was a lot of documents on the C64 we couldn't transfer without a lot of work) behind for a 450MB HDD AMD K6-2 Win95 machine. Then Baldur's Gate came out with it's 2GB size and 5 CD install...
OMG!! My first pc was a vic-20!!!! XD I was totally enamored with the fact I could change colors, scroll lines of text and poke addresses that made beeps and boops come out of it ^_^ Up until then any access I had to a computer was one that had some sort of basic GUI and pre-installed games... it totally blew my mind.. I never did manage to get a tape drive for it, but I had a few carts that plugged into the back if memory serves me right... Still nothing was more amazing than taking a game from pages of a magazine and (after painstakingly copying it line by line) fiddleing around with the code to make it do other things :) I remember I had some sort of ASCII adventure game, but it had no sound ... so I must have threw in like a hundred diff pokes so every time you moved it booped, and encounters had a little doo-de-doo kind of melody before they popped up ^-^ I was ssuuuuper proud of it too, I must have (over a few weeeks) re-compiled the damned game at least a few hundred times.... and even wrote all my addidtions on paper with annotations in the magazine I copied the game from XD I am gonna ask my mom if she still has my vic20 stuff (fingers crossed but I doubt it) I wouild love to see that again.. as it was like 30 years plus ago.. my memories are VERY faint.. god would I love to get my source and make a proper compiled version of it today XD THANKYOU for blowing my mind and letting me remember this cool stuff dude :) Always loved your work, this just totally blew me away with nostalgia! God it was awesome being a kid in canada in the 80s :D
As much as I hate to suggest another forum to monitor, I suggest you make a subreddit for this project. The reason is that I don't have a Facebook account, nor will I ever. If it were just me, I wouldn't be making this suggestion. However, I'm pretty sure I'm not alone in this opinion. With that being said, I think reddit might be a better place for discussion anyway, as you have ways to segment the discussion. I am not familiar with Facebook groups or their features, but I can say with confidence that Reddit does have these features in an easy to use and easy to reference format.
Even teens no longer use facebook, it's just not cool anymore. And I don't think it was ever known to be a platform for any kind of intellectual thought discussions going on.
@Michael Dina Yes, but asking for help doesn't necessary means "make it open source". I.e. I can ask for help, and in the end, implement things like I want, with closed source, based on user's ideas. Which is what it looks like, but let's hope it's just my misinterpretation.
I definitely understand your love of that first 8 bit computer. In my case, the gateway drug was a TRS-80 model 1. Within months, I knew what every single byte in the memory was for and as every device on the system was memory mapped that meant I understood EVERYTHING about that system. Even when I moved up to the disk system extension I was still comfortable with each and every part of the system (though, my investment was about $1500.00 in 1979, I was quite as comfortable with the expenditure). Sadly, with today's systems, I don't even have an inkling about what is going on in the sound card (the trs-80 had a relay to stop and start the cassette recorder, if you switch that on and off quickly enough, it made a sound .Hi-fi, it wasn't). Even at the age of 79, I do still enjoy programming the latest chipsets but the nostalgia for the 8 bit days is intoxicating.
For sound capabilities I would highly recommend Yamaha's OPL FM synthesis. It's instantly recognizable, nostalgic, and sounds pretty darn good. The benefit with OPL and FM synthesis in general is that, unlike the SID, it is purely digital and has no analogue filters, which dooms the SID to either be recreated in custom silicon, or faked in software. The OPL chips such as the OPL2/YM3812(used in AdLib and Sound Blaster), and the OPL3(used in Sound Blaster 16) and their clones can also be had for a dollar or two, and I know of several people designing and building brand new Sound Blaster compatible cards, as chip stock can still be found readily online, but there's more to it than that. With OPL, you can recreate the whole chip in an FPGA and have it be identical to the original in every way, and there's already code available online to do just that. OPL and FM synthesis in general, unlike the SID, is purely digital and has no analogue filters, which dooms the SID to either be recreated in custom silicon(absurdly expensive), or approximated in software(all SID chip replacements use this method still). The digital to analogue converter that usually paired with said OPL chip runs at a nonstandard frequency alongside the OPL, with a master clock at 14.31818Mhz and a sample rate of 49.7159KHz, which may prove a little more odd to replace with modern parts, but far from impossible. Nevertheless, it shouldn't be too difficult to implement and because of the nostalgia and past popularity, it would have a much greater following and ease of use as well. It might prove hard to take full advantage of OPL with the 65816 when multitasking, if the clock speed is as low as the original processors. Here's an example of some code I found for an OPL3 (YMF262) chip replicated in an FPGA: github.com/gtaylormb/opl3_fpga
Why not a ym2612? Personally I like the sound of that chip compared to the OPL ones, at least from what songs i've heard that were made between the two
I had no interest in the games you developed as your last 2 long-term projects, but this computer is a product I could see myself actually buying (assuming you are able to keep the cost reasonable).
I painted a 4116 chip on my school bag in 1987 with silver metallic paint. Since it's much more difficult to paint a 6502 and I did not have a broken CPU chip, I painted that 2 kB memory chip and glued a real 4116 chip under the enlarged painting.
Interesting project! Reminds me of a discussion I had with my cuz. He, born in 72 and I, born in 86 have entirely different computer origin stories. He started with the Vic 20 I believe and I cut my teeth on a Packard Bell 386 with Windows 3.1. This lead to entirely different computer experiences. Which ultimately lead to entirely different career paths. He went into industrial programming and I went into networking. Long story short, it still baffles me every time I see anyone program in assembly or whatever being someone who grew up windows and GUIs.
If you’re using the 65816, something you should know is that bank zero contains the stack and 16-bit interrupt vectors (and since they’re 16-bit, the interrupt handlers are expected to be in bank zero as well). So for bank 00, you’ll have to do some odd stuff where the bank is part RAM (for the stack) and part ROM (for the interrupt vectors and handlers). Source: W65C816 Data sheet + “Programming the 65816” by David Eyes / Ron Lichty
I thought the stack was page 2 on the 6502, and has its own high-bits register on the 65816? Oh! You mean the first 64K, not the first page. Why not copy a ROM image to RAM, scattering segments to various addresses if it is discontinuous, at reset? You could use a cheap serial flash chip and be cheaper than a full bus interface.
John Długosz That sounds like more work than should be needed. The location of the interrupt handlers can be anywhere within bank zero. The interrupt vectors that point to the handlers have set addresses. For example, the RESET vector is located at FFFC,FFFD. For the general IRQ vector, it’s located at FFFE,FFFF in Emulation Mode and FFEE,FFEF in Native Mode.
That’s not hard. I’m designing my own 65816 system and as I come from an Acorn background it’s going to be somewhat like a BBC Micro/Master memory layout. So bank 0 has a 32K static RAM and 2 x 32K EEPROM devices. The reason for 2 is 0x8000 to 0xBFFF was paged ROM (it could support 16 “sideways” ROMs) and 0xC000-0xFFFF is for the OS. The 32K OS is two 16K banks switched by the emulator pin (because the Acorn OS has vectors for OS calls which clash with the 16 bit vectors). Finally the edge connector has a ME line which if pulled low deselects ALL of the onboard memory. It’s taken about 5 TTL chips to do this.
What I miss about 8-bit computers is the need to be creative to make something useful out of a limited set of resources. Resources that I fully understand. Each nook and cranny. The hunt for 10 more bytes of program space. The smart tricks to cram one more function in an already-full memory.
The VIC-20 was my first computer. I got it for Christmas but mum & dad gave me the manual to read in advance and I read it cover to cover about a *million* times before the big day - it was a great manual! I was completely hooked from that point on. :)
Completely off the point, but is that an actual quote from anyone involved with the MCU? Doesn't seem likely since it's not crossing anything over. It's all one universe and has been since The Incredible Hulk.
@@Wes8761 Not really a woooosh when wooooshing wasn't the OP's intention. I'm sure they can chime in if I'm mistaken, but it seemed like a hold my beer with a mistaken premise.
I have a different idea, I'd like to see a modern system with the size of the software shrunk down and simplified. There's a theory that programming could be reinvented so that the code could be 1/1000th the size but still have pretty much the full functionality that we're used to. Alan Kay, the inventor of Smalltalk is one of the people who's been working on this. Google for STEPS and Alan Kay. He had a demonstration system that was based on a bunch of ideas, constraint programming, custom languages graphics and other concerns, in fact including a system for generating new languages as needed.
I'm guessing 8 bit guy is the same age as me as he went through the same vic20 experience initially. I wrote so many games in a mixture of basic and machine code (no assembler then) to shift graphics around.. Annoyingly I chucked the tapes a few years ago, I would do like to see my creations (of a 14/15 year old me) again. I then migrated to the atari ste and released a few games on that and then the gp2x games console. I'be been lucky in that I'm an embedded software engineer since the mid 80s and would never have got into this without my parents helping me to buy that initial vic20. I owe them so much and thankfully they lived long enough (my father died a few weeks ago at the age of 90 from pneumonia, possibly triggered by this covid-19 virus, my mum died from cancer 3 years ago, aged 81) to see me have a successful and interesting career. I'm now 53 and considering retiring in 7 years but feel I will miss messing around writing software at a low level once I do that. Dunno why I had to post this but thought it was a good placeholder to say thanks mum and dad for being such great parents and I miss you.
I spent my entire childhood as a TRS-80 Coco guy, fighting the "dark side" as represented by all my Commodore friends, and here we are, 35+ years later, and between you and Ben Eater, you guys have me happily and enthusiastically joining that dark side!! UGH.. My 12 year old self would be so ashamed.. :-) Keep it up.. I look very much forward to buying one of your computers once they're ready! Actually... I look forward to buying at least 3 more as gifts for others! I cant believe I am thinking of trying my hand at 6502 assembly...
I just want something game artist friendly for development and easy to port to modern platforms. Good sound card would be rad too. Also, I don't want to use facebook.
Even a not very good sound system could be good enough. If you want low cost, perhaps making the video character fetching system fetch a few extra bytes during retrace could give you the audio DAC values. 3 16 bit values would be more than more than enough to make sound clips play.
@@roylastname9367 GPL is more restrictive than MIT for later distribution/use. If you license your software as GPL, anyone using it in another project must license the whole project as GPL. With MIT, any project under any license can include your software, so long as it carries the MIT license for just that part of the software. It can even be compiled (and closed source) so long as the notice of the license is there.
I wonder if Bill Herd, the former lead engineer and creator of the C128 might be able to help him out with stuff. Bill did guest star in the Commodore History series in the Plus4/16 (TED machines) and C128 episodes and he's intimately familiar with all the Commodore machines, likely especially the 64. EDIT: Bill also knows what the VIC II did and didn't do and might have input on a good replacement.
The "floppies were so slow" was solely an issue of poor design by Commodore and Atari (weird both companies made essentially the same error). My first PC was an Apple IIe and thank God (or rather Woz) it had a very fast floppy drives and 80-column support out-of-the-box. That made programming and things like word processing (Apple Writer IIe got me through all my high school writing assignment) very nice. While the Apple IIe suffered when it came to graphics and sounds, Woz's efficient design that allowed for a fast, cheap disk drive and 80-columns made both ubiquitous. Those two base features kept the Apple II line alive long after it had any right to be relevant. Many game devs used Apple IIe's as their "workstations" (sometimes with custom IO boards in a open Apple II slot) and cross-compiled to the "more powerful" Atari and C64's.
Yeah, I never though about floppies as being slow back in the day with a ZX Spectrum clone. Compared to 5 minutes of loading from a tape, 5-15 seconds loading from a floppy was a breeze.
I did both an English minor and Comparative Lit minor at University on Wordperfect for Apple IIe. Green monochrome monitor because my parents wanted to minimize game time. Although come to think of it, it needed an "80 column/ 128 kb RAM card", -not out of the box!
Vyl Bird: You are quibbling over the sense of "design" being used ... the original design concept was better than the final delivered design, as shown by the much better C128 serial disk interface, which is much like what the C64 would have been if the CIA's had been able to do hardware serial I/O on the serial bus.
I think for me, the appealing aspect of 8 (and 16 bit) computers was the simplicity, yet complexity in terms of what you could do with them (of course, by today's standards these are nothing, but back then, you could do some pretty cool stuff, and you didn't have to worry about things like updates, viruses -- at least not as much -- and other things you battle with today, software compatibility, drivers, security, etc). They were a simpler computer, but a more fun experience IMO over what we have today. Granted what we have today is great, but as computers got more complex, so did the upkeep (so to speak) of them.
As part of my master degree I had to design a 20 command Microprocessor/Micro controller. I had an idea from the 68HC05 Trainer board, which only had a 16 key keypad and two seven segment displays I learned Assembly on. I design a actual computer around my Micro controller, added five more commands to allow it to be programmed, and added a series of LED;s to the top that could show the status of each bit of the registers. I when way above the requirement of the assignment, and I did get an A, the instructor wrote "fine" on my report. I keep that report, and have shown it to other instructor at the schools I have been an adjunct at. At least one has said it would be a great computer for people to learn assembly on.
While yes, the statement on the 65816 is backwards compatible is indeed correct, some older 6502 games used illegal opcodes, something that doesn't work on the 65816 (were overwritten with the newer opcodes).
Well, since this would be a new system, it wouldn't run old stuff for C64 anyway, so that backwards compatibility wouldn't be an issue. No VIC & no SID = not a C64. He's only using it as a general guide for architecture design. Make a C64-like machine freed from some of the more annoying limitations that don't "breed creativity"
@@zerobyte802 I'm saying this less of for backwards compatibility with C64 games, but more in the sense that some illegal opcodes are really useful; some do two intensive instructions at once, and save space in the process.
Well, since you didn't ask me, I'll share anyway... What I missed about the Commodore 64 was the excitement of new things. Amazing things that were never done before. From games to office productivity. Everything - from the beginnings of email to BBS's to cool games. Everything and everyone was on a race to the next great idea and there was no shortage of them either. We simply don't have much of that anymore. Sure, graphics are better - sure, sound too - but in the end, most of everything we have today is just an improved version of these 80's developments.
I did much the same on BBC computers with BBC Basic when I was like 9 or 10. I used to get excluded from school for using the computer rooms at lunch-time. Apparently it was s silly fad and so was use of calculators... LOL Who's laughing now?
One thing I miss about old 8 bit machines (mine was an Atari 800xl) was the ability to access the physical bus or program the game sockets. The most interesting thing I did was replacing a paddle controller with a light sensitive cell and creating an optically triggered alarm.
I personally would have gone with a Motorola 68000 CPU. The 68000 has a flat 32bit address space, hardware multiply, it's simple, it has a very simple and clean instruction set, there's better C compilers for it. Every register is 32 bits The 6502 is kind of tedious
@@alerey4363 I suppose so. I'm not sure why you'd want to stick with 8 bit, though. You could get a C64-like experience with a significantly faster, easier to use, cpu for the same price as a 6502
Because the m68k is not even close to the fun and elegance of a 6502 or derivatives. Having coding for both of these systems in the past, one can see why m68k died the way it died (not even spark succeed, and spark was based from the m68k... but to be honest, the old good computer era died with the m68k...), and the 6502 heritage is still in use as of today (arm). Of course if you don't like the 6502, you probably like the m68k. To each it's own.
@@terramap2902 it's pretty well accepted that the 68000 has one of the most human-friendly ISAs. I moved from coding the 6502 to the 68000 in the 80s. The 68k was enormously more developer friendly. With the 68000, ALU operations have a nice bag of addressing modes to pick from. It makes a smoother flow writing code. I do want I want to do in one instruction rather than four or five. Not to mention the 6502 barely has any registers. While the 68000 was ahead of its time with a large number of general purpose 32bit registers. Naturally this makes coding the thing more pleasant as you spend less time juggling the registers and/or stack. On top of that, the 68010 supports privilege levels, so you could make a proper OS, which makes it more interesting from a comp-sci point of view, some of the 68* series also supports memory mapping
Well.. it seems that [your dream computer] != [8-bit guy and the rest of us dream computer.]. Not trying to begin a holy war between dead architectures anyways (well.. not so dead considering m68k->spark, 6502->arm, z80->x86), so i'll stop here. Let's just say, we agree to disagree :) (tho, my dream computer is a 6502 based machine, with 16 MB ram, multiple graphics modes, raster interrupts so video chip with non fixed RAM (so you can move the data anyplace inside the main RAM) is a must for me, at least 64 multicolor sprites, MIDI sound would be good, but depends on the audio chip he will put in there, and the standard ps2 port is not a bad idea... i think the RPI serial port can also be a good idea to thinker with, but i don't know if an internal sd card would be a good idea due to licensing involved...
I would actually prefer subtractive synthesis. The SID even had analog filters. With FM you tend to get those cheesy casio-keyboard sounds. But yeah they can be charming too. I would really love to have both FM and subtractive, but if the whole thing is to cost around $50, that might be hard.
@@letMeSayThatInIrish the YM2608 has a YM2149 core in it that has 3 square wave channels like the SID chip, it also has 6 four operator FM channels that can be tuned to produce some realistic instruments, it includes another 6 built in drum channels and one sample channel. it also has GPIO.
The problem with using stuff like the Gameduino is that you very quickly end up with a very powerful graphics processor being scripted by a very simple applications processor --- you get completely insulated from the platform and might as well be writing in Javascript! Also, the Gameduino is anything but cheap, costing about two to three Raspberry Pis. It's possible to bitbang VGA using an 8-bit AVR, at a fraction the price, although that's probably not suitable for game graphics, but it shows you don't need high-end electronics to generate modern video. If you aim at VIC-chip like capabilities you can probably replicate the same functionality using a slightly higher-end processor without going for a full-on high-end graphics chip.
One of the negatives of 8-bit computing noted here is one I miss: the long loading times, especially from cassettes, especially the 1st time loading a game. The anticipation of how the game will be. I actually miss it so much, I turn off Turbo Load on my emulators.
You really need a 100% custom kernel, otherwise Cloanto will sue you even if you license the old Commodore ROMs. Even mentioning that you looked at the code might get you sued, even with a 100% original kernel, since Cloanto is primarily a lawsuit troll company. Likewise, the Commodore BASIC v2 or v7 will be copyrighted still, by Microsoft. It may be better to implement FreeBASIC or OpenBASIC if you're going that route. Both are derived from QBASIC, have available compilers, and actual graphics routines. Going from there; if you're using an FPGA anyway, it can drive the VGA output I believe. For IO, is there a reason to choose PS2 peripherals? Why not pick up a USB controller, since USB keyboards, joysticks, and mice are common now? I don't think I've had a PS2 connector on my last two or three desktop builds, and I certainly haven't seen a PS2 keyboard for sale in ages, only USB. How will sound be handled? Something like an OPL chip?
agreed, set aside some funds to see an attorney who has a track record specializing in these things before getting too financially invested. all it takes is a request for an injunction to shut you down at the very least, and at worst competely drain your resources to zero. not sure you would be able to afford a six figure litigation team to fight something they have a case for.
There's a difference between being compatible with Microsoft Basic and shipping with Microsoft Basic. Shipping with a FreeBasic but being compatible with Commodore Basic v2 would be by far the safer way to go.
tenshi7anegl: They can still sue. They could well be looking for just enough of a claim that it's not immediately dismissed, since for copyright trolls, sometimes it's not the threat that they will beat you in court that they are counting on, but rather the cost and inconvenience of having to go to court to beat them.
I didn’t know MVG was on a video from the 8-Bit guy, right on!! I love MVG, even if I understand half of what he talk about, still very interesting to watch
Kernel writing isn't that hard , its like falling out of a tree once you broke your arm , your back in the tree to brake the other arm ;) It's a program , think simple memory and time shearing thoughts
Is quite impressive that he’s doing that I’ll give him that but I’m 13 and I’m actually working on a small kernel of my own :/ but still he is going beyond that and putting it in his own hardware, not only that he’s doing it only in assembly, I’m doing it in assembly and C which makes it much easier. At this point idk why I’m writing this lol I’m fucking stupid
What I miss about 8-bit machines was watching in amazement that programmers could overcome the extreme limitations placed on them to create some real masterpieces. That's why I'm a big fan of the Atari 2600 & IBM PC demoscenes.
The greatest unpopular micro, the Atari 800L. Aww man I still really want one buy I could never find a good one. Tramiel had something to do with it, the same ideas appeared later in Amiga machines. What a great time!
one suggestion, move off Facebook. maybe use Discord? there are many reasons for this, but mainly Facebook is just scummy. hope this doesn't sound too negative. love you!
I can understand, that you find Facebook scummy. But Discord? They are not really better. I personally think a forum would be the best solution, because you probably have different topics to cover and you'll probably don't want to read through a whole Chat-History just to find the thing you are searching for. If you recommended Reddit, it would have been a whole other story(I personally don't like Reddit either, but it would've been a better suggestion).
@@MrDavibu thought about saying Reddit as well, though honestly a forum on his site would be the best solution. just wanted to spark the discussion really.
Facebook has a much larger user base and is also much more accessible by the majority of people. If he used his own site it would be better but still not as streamlined as Facebook.
I purchased a twin 5.25 in floppy drive box for my BBC B back in the day. What a revolution compared to tapes! Program on the A drive and data on the B drive. Great stuff! Still works. Btw your initiative reminds me of Linus Torvalds' first days of his Linux OS.
7:15 Clint's whole section in this video is exactly what I love about retro hardware and is something I've really been struggling with as a game developer. I actually have a license to work on modern hardware as an indie but still I feel that there's no limits with the modern hardware and thus I feel I'll end up making a game that feels just like every other game or worse will just not be that interesting or fun because well "I could do anything, so I did this" Richard O'Brien, the playwright behind the Rocky Horror Show (1973) and Shock Treatment (1980), has a quote that I think really applies here and has become the basis of my mindset as a developer "Limitations inspire creativity", this comes from the person who had to rework their movie to be recorded completely indoors after a writers strike caused outdoor filming in America to no longer be an option so they rewrote the movie to take place in a TV studio where all the locations were no represented as shows on the channel. This is a lesson I think many developers could learn from nowadays, sure the AAA companies won't but that's okay, indies could as those limitations are already there in other ways so why not make a game within them instead of trying to reach outside of them. I've seen various "retro" looking games that didn't adhere to the limitations of the old hardware and that just made the game feel off to me as I knew that's not how the old graphics looked so it made the game feel surreal. For some games that was the point and those games used the dissonance to their benefit but some were supposed to be convincing and just weren't. So that's what I miss about 8-bit computers, if you tried to fly you hit the ceiling and reality would come back into perspective instead of letting you clip through the roof and off to space like modern hardware does. In non-metaphorical terms, it actually restricted you to adhere to it's limitations and if you wanted to escape from them, you had to be more clever and even then it still kept you down to Earth.
Discord for gaming is fine, and it's managable with a smaller community, but once it exeeds the low 3 digits of members it becomes too crowded. And facebook, well haven't been there for close to a year and have the feeling I'm missing nothing.
I get that feeling with full control on old machines. It did what you told it to do and if it did something it wasn't supposed to, it was more than likely your own fault. And wringing every inch of performance out of that C64 or old PC by tweaking just felt great.
If you want to learn about "computer architecture" you might as well pick any ARM SoC and go through the datasheet for it. Proper buses like pci are rare so it's mostly like an old machine with a better CPU running it.
Those datasheets are monsters though. An old Z80 is ~200 pages. Even a simple ATmega328 μC is almost 700 pages. If you add all of the design and relevant app notes this could easily top 1k pages. That's no small task for the inexperienced to tackle. There is a ton of assumed and contextual information in modern datasheets. Between the sales terminology, inflated metrics, and intentionally omitted info it's no walk in the park to learn on modern hardware in my (recent) experience. -Jake
@@UpcycleElectronics >An old Z80 is ~200 pages. The Z80 isn't a SoC. The block diagram of a recent SoC is going to be a single page and then you can get any info you want to know about a block from the reams of data provided.
I love legacy relics of the golden age of personal computers that required an artisan to operate i remember my at and xt computers up till 16 and 32bit computing blew the minds of us nostalgic geeks... these machines required skill or hidden talent to operate.. i learned QBASIC aka quick basic when i was 11 and got ms dos 6.22 and windows for workgroups wfw 3.11 for my birthday
@@thorham1346 well it WOULD be a new computer in a way... but he reviewed modern 6502 computer kits before i think and classic IC deconstructions, anything with educational value. It stands to reason he might be willing to contribute to an effort just as long as he can see an educational angle to it.
Immediate gratification when you turn on an older system. It just brought up what you wanted, and fast. Same for the programming, no layers to access or go through to do low level bit manipulation. Great video!
You should take a look at TI graphing calculators, they're basically the closest mass produced modern equivalent to old school 8 bit computers in terms of closeness to the hardware and their limitations and I know a lot of people who first learned to program on them. It's usually relatively easy to start doing assembly on them, the memory and the speed are somewhat limited so you have to take that into account when writing programs, and they typically come with pretty extensive user manuals, plus you can hookup a TI-Keyboard to get a closer experience.
The things are still $100 USD in stores and the 83+(!), the gold standard in math graphing calculators, can't do audio without sacrificing every cycle of the CPU to output to the 2.5mm port! I loved them in school simply because the Gameboy was relevant at the time and it's not like I had anything better to do... "Oh yeah, watch this date rape video" No thanks, I'll code my own rooms for a Doom engine I translated from the TI-85.
@@DoomRater True but can you think of any other modern 8-bit system with as much of a community? Most modern single board 8-bit computers are little hobbiest things and don't have anything close to the community you see for TI calculators. They're also significantly cheaper used, as little as $20 for a TI-82. The newer color editions bridge the gap somewhat between 80s computers and calculators. Granted it lacks dedicated sound hardware but it's theoretically possible to set up a DSS situation or even wire in a SID with a microcontroller
Okay okay, second hand market rules, and I own a few calculators that way, but how many parents know to do that? The color systems are something to behold, but my research is non-existant on them. I don't really know what they're capable of right now. Just keep in mind we have to get this knowledge to parents of kids in high school who are going to need the industry standard.
@@DoomRater The 84 Plus CSE can do some clever stuff with audio but the 84 Plus CE is still pretty new and nobody has built a DAC for it, that said the 84 Plus CE has basically the most powerful 8 bit chip on the market right now (eZ80 48mhz) so it certainly wouldn't be short on cycles running a dac.
The Acorn Atom was a beautiful computer to use, in its day. The ability to code assembly language into BAsic programs, which could have offsets and macros, so the code could be saved to tape , and then reloaded into the required locations. Or the code could be compiled in site and then called. And the indirection operators ? ! for byte and 16 bit word access to memory directly. And of course the expansion bus was compatible with the mprevious System 3 And it was the foundation for what would have been the Proton, but in fact later became the BBC MICRO , *sigh*
Hey!! I _loved_ my BBC model B. My first computer really :) Loved it. I bought one last year but it arrived with no IC's inside lol. Damn eBay so refunded it. Archimedes has some cool machines too, aww those were the days.
In the early 90s, my mom got me a commodore 16 from a thrift store for 7 bucks. I was 11 or 12.. I went to the library and got programming books. None of them were about the commordore 16 exactly.. (i think they were for a 64 or a vic-20 its been a long time)so I had to wing it... plus I had no way to save. I never had any cartridges either.. I would just hook the computer up to a black and white tv that as in my mom's bedroom, turn the computer on.. write programs.. then turn it off and lose everything I just typed. One time I wrote a police record program and made my brother think I hacked into the police department. It was just a simple menu program.. if you pushed 1 then it would bring up a fake police record. not bad for a young kid.
Also for adding I/O as well. Taking the Z80-MBC2 as an example the ATmega32 chip on there gives you I2C, SPI, serial UART, basically everything onboard an Arduino. There's no denying the cost reductions and flexibility you get with a microcontroller.
Any particular reason why you don't want to use an FPGA? 8-bit computers can be reproduced in pretty small FPGAs. In fact, some of the FPGA clones out there (such as the ZX-ONE, which has a C64 core) are already about $50. In any case, you'll probably end up with an FPGA-based video chip anyway, so implementing the CPU inside the FPGA too may end up reducing the cost of the machine.
I think he simply wants to use actual physical hardware...the original real deal...it is similar to why I rather use actual, original Amiga hardware instead of a new and much faster Vampire FPGA.
An FPGA is actual physical hardware, you can just reconfigure it to act like any custom chip which fits. If you have deep pockets, you can build a custom chip with the same configuration you've programmed into the FPGA and it will do exactly the same thing.
@Matthew That's right, even if it is even further away from 'actual hardware' compared to the FPGA. It would be an interesting option, though. I imagine you could use some dual-port SRAM for video memory so you could have direct frame buffer access from the CPU and the propeller is fast enough to implement sprites and other features.
Well there is no "rational" reason not to use a FPGA. but as he mentions its to be able to understand every part of the computer by just looking at the chip. Its like getting a plastic flower, it will last forever and needs no water rationally the best, but a live one feels more real it smells and feels more alive. a proper CPU is that and nothing else a FPGA can be anything we want and don't want and feels less real.
@@MrSEA-ok2ll Yeah I think so do, otherwise probably the cheapest c64 basic solution would be to use an entry level Pi and add an autostarting c64 emulator to it, this would address the issue of starting to program, it often does not really matter if the hardware is simulated or real especially on those old 8 bit systems. But it is not the real hardware then.
It seems to me that what you're after isn't so much the right kind of hardware as it is the right kind of operating system and environment. It's the OS that's isolating you from the hardware, not the hardware. The only reason you didn't feel isolated from the hardware on 8-bit computers was because the hardware wasn't powerful enough to handle anything more than a rudimentary environment. Mainframes for example had device drivers, preemptive multitasking, etc, long before 8 bit computers arrived. Once home computers became more powerful, they adopted the already well known and understood features of more powerful computers. So as I was saying, I think you're just after an OS. I know you already said that linux feels like you're isolated from the hardware, because you are. But the linux kernal and all the extra features included in linux can be easily adapted to give you the experience you want. You can strip out the GUI and all the other crud that comes with linux these days. You could even strip out all the security and MMU features so that you could write code to anywhere in memory that you like without the OS stopping your program. If you went this route you'd get a lot of advantages. You'd already get support for things like modern graphics drivers, any kind of storage devices including removable flash, printer support, networking... anything you'd want. You could greatly simplify the environment without giving up all the stuff you'd want to keep. So your exercise would be like you described for the c64 kernel. You'd be stripping out stuff you don't want instead of reimplementing the stuff you do. You'd also get the ability to run on everything from the base raspberry pi (or less), up to modern desktops. You could probably run this OS on 386 machines for example. I had linux running on my 486 back in the day. It doesn't have the romanticism of 8-bit hardware. But it would seem to meet all your requirements and still be an interesting project. And I wouldn't be surprised if an existing distro wasn't most of the way to what you want already, like maybe slackware or gentoo.
Very good thoughts! Made me imagine an App call it "Backslider" and it is a single screen of checkboxes with which one can dummy down Linux (or smarten it up).. But then the first checkbox would logically have to be Bits = 8/16/32/64 and I think the tree becomes effectively infinite pretty quick..
At the same time, I think part of the appeal is to design some hardware that is also limiting. Sure you could trim down an OS running on a modern machine, but it may mean more when it's a requirement in order to run on the hardware you're designing.
The thing I like most about 8 bit computers is the fact that I am sitting in a modern world with modern, cutting edge technology, using what was once considered those same modern things. This is why I like the CRT/composite, floppy or cassette drives, and all the things that are so hard to get, because I enjoy the thought of using something that was once cutting edge.
Interesting idea for a product, especially considering you have all of the benefits discussed with an 8-bit system, while expanding it to 16-bits. I think that your idea for using the gameduino for video is a great one (I had never heard of it until I saw this video). I took a look at the verilog (it's a bit of a mess), and it should be very easy to provide an 8-bit interface as well as HDMI output (you would need an HDMI transmitter chip, but the FPGA could output 24-bit pixel data). That modification would probably only take about 30 minutes, but you would need to redo the PCB / board for the updated implementation. As far as connecting it to the C64 bus, that should also be fairly easy, the biggest issue would be timing, which would probably need to be debugged in circuit. Effectively though, you can make the FPGA appear to act like any other chip or device that you want, for example, you can attach an FPGA to an ARM CPU via a NAND flash port, and make the CPU think that the FPGA is just a NAND flash chip with the ability to read / write to the address space. I don't have a facebook, so I can't join your facebook group. I would be happy to talk via email or discord though.
Isn't there issues with needing to buy into a license arrangement to use HDMI? I know there is no way that the thousands of different Chinese devices have bought licenses. I'd reckon this would stay under the radar, regardless
@@markstrickland438 That's a good point (I wasn't thinking about licensing when I posted the comment). There must be a feasible way of dealing with the HDMI licence though, since for example the Raspberry Pi uses HDMI and only costs 35 USD. It's possible that you only need to licence it if you use the HDMI logo, or an HDMI logic core. If that's the case, then using an HDMI transmitter chip from pixel data, will already have the licence fee in the chip cost itself (since it basically uses a 24-bit VGA interface for the pixel input data). I have never looked into this though, so I'm not sure.
@@logansorenssen I guess technically that's true, since HDMI is effectively DVI. I think that the only difference is that DVI has a less restrictive spec than HDMI (plus HDMI can carry audio). The point would be that you could plug an HDMI cable from the video board into an HDMI port in a monitor or TV, and it would work. It's becoming increasingly difficult to find display devices that have VGA ports, so this is probably a necessity for the longevity of such a project.
I learned BASIC on the TRS-80 Model 4 and wrote arcade games (Tron, Warlords). Then jumped into Assembly, then C++, now iOS Swift. What a journey it’s been and what a difference in computing power now!
The thing I miss most about 8-bit computing was being 10 years old.
i see a penguin.. fellow linux user?
So true
yah
@@dcfuksurmom i hate linux
anyone remember typing in pages and pages of basic code from a magazine, trying to learn to code games? are there comparable magazines now?
Other people's dream computer: Threadripper 2990WX/I9 9980XE and 10 RTX 2080 TI in NV-link
David's: a 6502 with vga output
Did you mean 10 Nvidia Quadro RTX cards in NVLink?
You can't nvlink consumer cards.
@@jussapitka6041 Then take a look at the spec sheet ;)
his name is the 8-bit guy what did you expect
@@jussapitka6041 SLI uses the same connector as NV-Link on the Turing cards (16xx/20xx), with some features cut out.
So casual"I'm going to write my own kernel" 👀
It really was another time. In those days spirits were brave, the stakes were high, men were real men, women were real women and small furry creatures from Alpha Centauri were real small furry creatures from Alpha Centauri. And if you wanted to play a game on a CD you had to start by writing your own kernel.
Yeah, I was thinking the same thing. Also, "David asked me to design a board that could interface the C64 with the Gamduino. Here it is." I guess this is a product of a time when really using a computer meant understanding the computer (when it was possible to understand a computer completely).
I don't think you're quite aware how rudimentary a kernel for an 8-bit CPU needs to be in order to fit the project goals. For example the Apple][ ROM was only 4k That's 4096 bytes. Basically it has to handle serial and character IO by polling IO addresses, it needs to output to display memory, it needs cold and warm reboot entry routines that set up memory and the display. That's about it.
@@linuxgeex I don't think you're quite aware how crap I am at assembly. But seriously, I know it is nothing on writing a kernel for a modern machine. But it is non-trivial. I had a hard time in college trying to write an assembly function that took a number and changed the base. Even if it isn't a ton of code, it does require pretty intimate knowledge of the hardware and is difficult to debug. Not exactly a Saturday afternoon project. Particularly for most developers today who are used to high-level languages with visual debuggers and profiling tools such as myself.
I used a visual debugger for 6502 in 1984... it was called the Apple ][ monitor lol. But I think you're right in that the idea of what is 'difficult' these days has changed. Current generation is too accustomed to everything being handed to them on a silver platter, and a prize for last place. It's a great world they want to live in but it's hard to build anything that lasts out of snowflakes.
The thing I really love about 8-bit computers is the fact that you can literally understand the entire thing including the CPU and ram and even the whole electrical design of the motherboard.
I never lived through the 8-bit computer era, but I really do love how simple and clean they are to understand, except for the programming for me at least.
yeah 6502 assembly usually or you could be crazy and program it by opcodes
eat, sleep, drink, what else you need to know 😂🎉
LGR had so much beige going on in that room, he was almost invisible.
Lindybeige would shake his hand. :D
Sara Thomas it’s a bit nice
Get it? Bit. Never mind.
LGR was in the video? Oooooh he mustve been the talking beard with glasses.
I was about to write the same comment (7:17 there's too much beige going on in your life LGR) before I looked at your comment.
Since LGR collects old computers and since old computers typically came in beige (especially business level machines like the IBM PC’s and compatibles and most Macs prior to the iMac G3 (1998). You can thank the Germans for this. Apparently, back in 70’s and 80’s when the personal computers first came to be and became popular, Germany (more specifically what was then West Germany) had enacted an office regulation law dating back to the late 70’s regarding workplace standards that required office equipment including computers to be light-value colors such as off-white, pearl, beige, light grey, etc. This office equipment color standard spread to other parts of Europe. Because computer manufacturers of business computers such as DOS/Windows PC’s didn’t want to have to build separate computer and monitor case colors for North America and Europe, they settled on boring beige or light grey colors as standard. The first DOS/Windows business computer to not come in beige/grey was the black colored original IBM Thinkpad laptop models (300, 700, & 700C). IBM wanted it to stand out so they insisted that Germany grant them an exemption which Germany eventually did but also requiring IBM to include a warning with the Thinkpad that it was not for Office use. They original iMac G3’s and 2nd gen. Powermac G3’ desktop Macs would also break free of the beige/grey color standard, though I don’t know if they too were given any sort of similar exemption or if the standard still applied by 1998. Now some of you will recall there are 70’s/80’s home computers in non-beige/grey colors, particularly black (such as the Sinclair ZX Spectrum and Amstrad computers) and that was because they were not business computers so they where exempt from the German workplace office equipment color standards.
6:47 "Just a beautiful blue screen." Windows XP does the same thing: No updates, no notifications, just a beautiful blue screen.
This is the Windows 10 beautiful blue screen
:(
Your PC ran into a problem that it couldn't handle, and it needs to restart. We're just collecting some error info, and then we'll restart for you.
(-1% complete)
If you'd like to know more, you can search online later for this error: ADAM_SK_EN_FATAL_ERROR
No that's Vista
Cyan Is Sus 😂 sooooo true.
@@adonian you mean Myst is sus?
@@stutavagrippa8690 I was replying to cyan is sus’s comment on windows 10
I wrote a word processor for the commodore pet that used the tape deck for the data at wrote directly to the cassette so was not limited by the computer memory. It was shown on the BBC TV program Tomorrow's World around 1978 or 1979.
Sounds pretty interesting...
And, complicated.
Ssnakee why be a saltine?
Heyyyy, thats pretty good!
Ssnakee he got his program on TV. Your point?
You probably could have ran with this somehow and made big money.
Some parents seem to have this idea that kids should be limited in computer time, i've always disagreed somewhat, that its not the computer time that kids need to be limited, its the internet time. Computers without internet are very different devices. A non connected computer is more of a personal and introspective experience than a connected computer
And without a game probably.
@@sullivanzheng9586 Even games are fine, just don't give them modern kid's games or shows those look like something to make you in to a person with no brain functions.
And it is a bit mean but what my dad and my brother did was to let me figure out myself what to do. Countless hours studying how to get pirates games to work and how to solve old driver issues :D
Ah I miss not having money 10 years ago at age 13 trying to get stuff to run on intel hd graphics.
Edit: I don't miss the 5400rpm hdd though.
The argument is that computing time lowers creativity. Perhaps it is so, but I think that they really miss working with their hands, and playing with an Arduino and blinking LEDs based on the input of a photo resistor with it will undo that lack.
Doesn't matter. Kids need to spend time learning to read, write, do math, and spend time in the real world
@@dancooper6002 Obviously lmao. he means other than that time bc what can you do anyway without knowing those skills?
My thing about 8 bit machines - they were completely knowable. Both from a software and hardware perspective. I knew my TRS-80 Model I so well - that when the characters started dropping bits I knew which RAM chip went bad. And that Tandy/RS socketed the RAM. Plus I knew enough about the Z80 CPU that I didn't use an assembler - I'd poke stuff into memory direct from poke/peek.
The other benefit was instant on as soon as power was applied.
"instant on as soon as power was applied." - I miss that too - the C64 had a cartridge slot, I had the Terminator game in there, awesome back in the day. Trying to make a phone call on my "smart" phone is a chore now as well as I have to dismiss so many ads before I can actually make a call!
Indeed. I'm getting pretty involved in my Tandy 1000HX right now making expansion cards for that goofy PLUS header. I realize that people do make adapters to go from PLUS to 8-bit ISA (XT), and I've even made one of my own, but you quickly realize that space is still an issue, so the best solution is to build your card straight onto a PLUS card.
@@Fifury161 wait, what? What kind of phone OS do you use that you have to dismiss ads beforehand?
@@BlackEpyon Good for you!
Any phone with Android, it turns out, if you have the FOX 11 weather app on it.
I'm so glad you're going to build your dream computer. Can't wait until part 2.
Same
Yup
I like and appreciate your video production, and eagerly await additional videos you will produce in the future.
Perhaps he should just talk to a Chinese OEM manufacturer, which would whip one up to Dave's exact specs in a short time, and produce it in quantity very affordably. That's what Chinese do very well, inexpensive mass production. Course one would have to keep a close tab on production, because they are known for lack of quality.
Just my two cents. ;)
@@@BillAnt We are here to make sure that he doesn't forget something, and tweek the ideas he has.
Being born in 1985, these BASIC computers are a little before my time, but in high school I had a TI-83 Plus calculator that came with a nice thick manual. I spent a ton of time going through TI-BASIC and coding games and messaging apps. It was amazing and really got me into programming.
Maybe that is what is wrong with modern computers (even the Raspberry Pi) and why there is a wanting to go retro, the all but zero documentation that comes with them.
The last computer I had with decent docs was an NEC APC3, I was able to have some great time programming it.
I think the TI-83/84 plus calculators are pretty great for people interested in a modern 8-bit computer aesthetic. They have similarly limited hardware, a simple OS which starts immediately and shows little more than a blinking cursor, and they have a lot of documentation included with examples for how to program them in BASIC. You can also program them in assembly and directly write to any of the of the hardware registers. There are also "plugins" which extend the Basic version so you can call those commands from a BASIC program.
They also have a community around them which has been able to do very impressive things with the limited hardware.
Hell.. even simply just GAMES nowadays. I know it's a little hypocritical to say that I like to just get into a game from the start with tutorials and such, but I fondly think back at the (sometimes) extensive manuals games could come with that lets you ponder over every little thing the game featured, even though most of it you could figure out by playing :D Back in primary school a buddy's father owned a Apple Macintosh and he had SimAnt for it, which had a game manual that not only contained all the ins and outs of the game, but a full biology section (hundreds of pages) about ants and ant life, which subsequently made me learn more about ants and I photocopied the entire manual. Now it's just a simple "Quick Install Guide" or "Quick User Guide" and the rest is all just about playing. Even though nowadays you just want to just install a game and get playing, there's something about having extensive documentation going with it that you can study outside of the game :D
Well, the Ti-83 uses a Z-80, so a tad more modern (by one year) but used almost as widespread as the 6502, and fully intel 8080 compatible. It even runs Doom!
@@WickedMuis The extras were often included to hide the fact that the games themselves were pretty limited compared to their modern day counterparts. It's also tied to the distribution system - today games are "shipped" digitally, which is a Good Thing™ as physical media, packaging and shipping just add cost.
If you want extensive manuals and extras today you can still get them: simply buy the "Collector's Edition" and pay extra for the privilege.
What I miss about 8-bit computers:
I miss feeling in control of my computer. Maybe it was slow. Maybe it was limited. But it was mine and it didn't do anything(literally nothing) that I didn't tell it to do. I miss the immediacy of the computer following my instructions(How many times have you double clicked on something which didn't respond immediately despite your computer being thousands of times faster than an 8-bit computer). I miss being able to understand what my computer is doing and why(I don't even know how many millions of lines of other people's code is running on my computer nor do have enough time in my life to read all of them even if they were available). I miss being able to run programs without internet access. I miss software being designed specifically for my computer instead of being forced to buy the computer that the software vendor asks for. I miss being independent of huge corporations sending me updates that do God only knows what or why. I miss my computer not getting slower as it ages(How many times has someone told you to buy a new computer because yours is running slower than it did when you bought it). I miss being able to write and run my code without needing multiple devices(development board, cable, software tool chain, and computer used for code editing) which all have to be compatible with each other. I'm the kind of guy who leaves specific wrenches and screwdrivers in places where I'm going to need them so that I don't have to go looking for them later and it irritates me when I have to scrounge together a development environment to alter the behavior of a "brick" which I haven't touched in 3 years. I miss being forced to get creative while adapting my task to a set of known constraints as opposed to the modern paradigm where you just write a logically sound(but perhaps inefficient) program and throw resources at it until it works acceptably.
What I don't miss about 8-bit computers:
Low capacity floppy disks and the difficulty of moving data from one computer to another.
This right here
Bunch of pedantic bs
@Jack's Model Railroad , that's true and they are so cool for what they were built for - simplicity. Modern computers are made for enormous complexity, and they can be used in a very user-friendly way or get dived into extremely deep and complicated engineering. Let's say that back with 8-bitters we behaved in simpler ways, and expected much simpler stuff. Perhaps we don't miss 8-bit, we miss ourselves and simpler times. Because - less is more, keep it small and simple, DIY, small is beautiful... etc. Human being is cursed with finding new ways to get his life complicated, comforting oneself that it somehow makes life easier. Oh, well, tragicomedy drama.
A simple OS and programming language - that's what we don't have anymore.
Just imagine what could be done if a "accessible" OS was running on "modern" hardware ....
"All the best *bits* of old school simplicity."
I see what you did there.
I see you like metal.... What's up
Beautiful "Blue Screen!"
Windows users might disagree
i get a red screen of blood
With Win10, the "BlueScreens" don't look that scary any more ...
I agr
My computer crashed
Green screen wait windows insiders get the best recording kit
I’m hoping you can add MIDI-support too... like the Atari 520 and 1040. Let’s make some real retro music old skool style! :D
Anders Enger Jensen At least retro music sounds a great idea!
Play tempt on it
Hey love the mini disc you put out thanks for keeping it a live
A new computer with dedicated MIDI ports would be a dream for people like me that only use hardware for making music. No latency... what a dream!
It seems like he isn't planning on any sound hardware, which is really pretty boring
I love watching this passion project evolve into one of the best modern computers for vintage computer nerds
A Facebook group? Now THATS retro.
@Poble Facebook is great for stalking or doxxing.
MyFace is obsolete.. now I feel sad.. *breaks mirror app*
ha, yeah, but the bitch will eventually call ACORN on you, and you'll regret everything..
Old ladies seem to really like facebook
I AM NOT OLD. YOU HOOLIGAN.
*changes teeth*
6:46 "Just the beautiful blue screen" - Times have changed I guess x)
Levleboss as opposed to the BSOD 😂
@@mrtechpat /r/whooosh
@@desertkun you need 1 more o
desertkun bedumsh!!!
Or however! 🥁
@@mrtechpat what?
Thanks for including my clips! I'm looking forward to seeing where this machine goes.
Word Writer 128 had 80 columns and was pretty much WYSIWYG. I used it through high school. But yes, the printer setup was always fun lol.
@@IDPhotoMan Yes, this is where the C128 really shone above most other 8-bit computers!
@@8_Bit I still have my original copy of WordWriter 128 disks from high school and disks of my assignments and papers. English was not my forte back then to say the least lol.
Your channel seems cool, and you just earned yourself a subscriber
The fact that as I take my classes, I slowly begin to understand what he's talking about more and more is exhilarating
You can get relatively cheap FPGAs (sub $9) that'd be able to handle VGA no problem and maybe some extra I/O stuff on top.
Keep in mind that $50 may be pushing it in terms of unit cost. The WDC 65C816 (6502 CPU) is $7 alone on Mouser, an FPGA to handle VGA will be another $7 - 12 (i.e. Spartan-IIA Xilinx) and the DRAM will run you around $2-5 (Digikey: 1MB, 8Bit Parallel SRAM). Then you'll need circuitry for misc I/O, SD card interfacing (prob another low level FPGA) and interfacing to the CBM Serial bus which is another $10 due to the FPGA used. The power circuits will run another $5-8 (assuming you want to power it from microUSB) and the board required (you'll be needing atleast a four layer board) assuming 5" x 5" will run $20-25/unit (PCBWay: 4 layer, 6/6mil rules).
Assembly will also be potentially costly depending upon volume. If you want to hand assemble, you'd need a reflow oven, hot air tool, solder paste, as steady hand and a stencil. Hand assembly is cheap, but if you go to volume (say 50 board run) you're looking at ~$15 - 25/unit (PCBWay: Turnkey Kitting, ~100 SMT parts, ~5 TH Parts i.e. connectors).
$100 is definitely on the high end, but $65-75 / unit is probably more realistic.
But this is only back of the napkin math, so there can definitely be some cost savings abound.
It'd definitely be a challenge to do the interface over an 8 bit parallel bus whilst aiming for the goal of everything being near bare metal accessible to any coder (as opposed to something like the VIC chip using its VRAM straight from the main data bus to which the programmer can just directly address VRAM instead of obfuscating it through the 8 bit parallel bus).
When buying in bulk the price per unit drops, and considering he is open to using modern components these costs are a bit nuanced but you bring up an (unfortunate) reality.
He showed his GameX selling something like 50 games a day. I have idea insight into his numbers, but I'd say a run in at least 100s of units. 50 would be big for you or me, but check out his subscribers! And two sizeable channels giving adivice here. That's a huge audience. I'd guess easily 50 a month, or per week.
Thought this was gonna be a PC building video but this is so much cooler
You share much the same history as I as do. I too, never stopped programming and now do it for a living yet, I too miss "the old ways".
I will be buying this at 50-100.
You are an impressive person.
Look dislikers, if you want to waste your time watching "Linus Tech Tips" "build" a "gaming" PC then go waste your time. But People who build a computer completely from scratch are legends. thank you, 8-Bit. Great content!👍👍👍
At 7:12 Greetings and welcome to a LGR 8-Bit discussion thing
If you're using an FPGA for video you should be able to synthesize dual-port RAM which would allow you to directly access it both on the C64 side and the video driver itself. You'd need a voltage conversion on the C64 side which just requires a few extra chips (like an Everdrive)
Ben Heck Hacks The C64 won't stay, interfacing it is a non-goal.
@@johnfrancisdoe1563 what lassi said, and the voltage level conversion stuff is just a cheap testing solution
I'd stay more true and get a second 6502 to chase the beam. It read from main ram via cycle stealing.
I thought the point was he *isn't* using an FPGA?
Phil Underhill yes, but he admitted in the fb group that maybe having an fpga as a peripheral device, altough he wants to keep the main cpu
The most challenging aspect of the Kernel will be dealing with the 64K blocks of memory. Yes the 65816 can address 24-bits, but moving across the 64K chunks can be quite tricky since the ALU is 16-bit (a simple jump table doesn't cut it). There are already solutions to this if you poke around the various forums (6502.org, etc.)
Are you the one of the people who donated bunch of stuff in older unboxing videos? :)
@@ntd0 he is
So it’s like x86’s real mode with segmentation?
@@colejohnson66 x86 segments can start almost anywhere and overlap each other. Segments of 65816 is just all memory divided into 64K chunks. So you can run a normal 6502 or 65816-enhanced code in a segment, but if you need more memory, you need to long jump to another segment (or perform a long read to reach data there). Not too bad, actually, 65816 is very simple easy to learn device, just like 6502.
@@colejohnson66 Same concept, different implementation. Instead of an offset that gets added to the address like x86 there is an 8-bit bank register which specifies which 64K chunk you are working in.
I wish I lived when 8-bit computing is "mainstream" and you could manually adjust registers on the fly. These systems made you understand what was happening and it was simple enough to learn through playing with it. I wish this because I would have a greater understanding of why things evolved to what they are today and a greater appreciation for the modern hardware that seems so abstracted away from me in the modern Windows PC and even in the Linux world to a point.
The RC2014 is a Z80 based computer designed in 2014. It's actually pretty good and can use a Pi zero to drive the screen and keyboard etc. Take a look.
The fact that you have seen the c64 kernel source could be a problem... You had better hardcore CYA to make sure that none of your code is at all similar to c64 code otherwise they could make your life extremely difficult with copyright issues.
And the company in question has a long and sordid history of copyright lawsuits. in fact possibly the longest and most sordid history in history.
Commodore is dead, in the ashes, it went bankrupt, they wont sue him
I thought about that too, Daniel. Right out of an episode of "Halt and Catch Fire".
I otoh haven't seen the C64 ROM code, but I've seen the Apple ][ and ][+ ROM code (because they were published openly like IBM's). Of course, that's only 2K, and it's very easy to NOT do the same thing.
@@serb4446 commodore won't, but the kind of company that bought up their IP absolutely lives for this situation. Extracting value from a dead property without having to do any actual work. After trying to contact them so often you can guarantee that 8bitguy is on their radar now and they're just waiting to pounce on him if they find even two matching bytes.
12:03 16 MB of memory are you crazy, no one needs that much. 3.5K Is all I need. :)
1 Bit of memory is all that a person may ever need
there will always be people that want more memory so put as much of it in as possible, maybe even allow us to use old RAM sticks to expand it :)
Of course this was meant to be joke. I recall seeing a 500 meg. Hard drive at a software etc thinking who would ever need that much storage when wordperfect ran off of 2 floppy disks. 🤣
I remember the first time I booted up a IBM compatible 386, with it's massive 45MB HDD. Coming from a C64, young me was blown away at the thought of having most every game I owned on hard drive, with no need to swap or flip floppies.
Cue 1997 when we finally left the C64 and 386 (we used both side by side as there was a lot of documents on the C64 we couldn't transfer without a lot of work) behind for a 450MB HDD AMD K6-2 Win95 machine. Then Baldur's Gate came out with it's 2GB size and 5 CD install...
And yet we have 6969696 KB of RAM (6.9GB) in computers and even phones!
OMG!! My first pc was a vic-20!!!! XD
I was totally enamored with the fact I could change colors, scroll lines of text and poke addresses that made beeps and boops come out of it ^_^
Up until then any access I had to a computer was one that had some sort of basic GUI and pre-installed games... it totally blew my mind..
I never did manage to get a tape drive for it, but I had a few carts that plugged into the back if memory serves me right...
Still nothing was more amazing than taking a game from pages of a magazine and (after painstakingly copying it line by line) fiddleing around with the code to make it do other things :) I remember I had some sort of ASCII adventure game, but it had no sound ... so I must have threw in like a hundred diff pokes so every time you moved it booped, and encounters had a little doo-de-doo kind of melody before they popped up ^-^ I was ssuuuuper proud of it too, I must have (over a few weeeks) re-compiled the damned game at least a few hundred times.... and even wrote all my addidtions on paper with annotations in the magazine I copied the game from XD
I am gonna ask my mom if she still has my vic20 stuff (fingers crossed but I doubt it)
I wouild love to see that again.. as it was like 30 years plus ago.. my memories are VERY faint..
god would I love to get my source and make a proper compiled version of it today XD
THANKYOU for blowing my mind and letting me remember this cool stuff dude :)
Always loved your work, this just totally blew me away with nostalgia!
God it was awesome being a kid in canada in the 80s :D
Next I need to write my own kernel
Me: Hard stop, Yup, I'm out.
Mads props
do you like your chips with dip?
@@raven4k998 no
@@molybd3num823 you will have your chips with dip and like it!
As much as I hate to suggest another forum to monitor, I suggest you make a subreddit for this project. The reason is that I don't have a Facebook account, nor will I ever. If it were just me, I wouldn't be making this suggestion. However, I'm pretty sure I'm not alone in this opinion. With that being said, I think reddit might be a better place for discussion anyway, as you have ways to segment the discussion. I am not familiar with Facebook groups or their features, but I can say with confidence that Reddit does have these features in an easy to use and easy to reference format.
Agreed, Reddit could be a fine choice for this project.
reddit is a Chinese company now
You're not alone. I consider "only on Facebook" to be equivalent to not having any online presence at all.
Reddit allows you to set up an account with no personal info so that's an upvote from me for Reddit.
Even teens no longer use facebook, it's just not cool anymore. And I don't think it was ever known to be a platform for any kind of intellectual thought discussions going on.
Whatever you do, please make it open source/open hardware. People will help you with a lot of stuff if you do it that way.
I'd be surprised if he did not make it open source but you never know
@Michael Dina Yes, but asking for help doesn't necessary means "make it open source". I.e. I can ask for help, and in the end, implement things like I want, with closed source, based on user's ideas. Which is what it looks like, but let's hope it's just my misinterpretation.
He won't.
@@DRSDavidSoft He might!
I definitely understand your love of that first 8 bit computer. In my case, the gateway drug was a TRS-80 model 1. Within months, I knew what every single byte in the memory was for and as every device on the system was memory mapped that meant I understood EVERYTHING about that system. Even when I moved up to the disk system extension I was still comfortable with each and every part of the system (though, my investment was about $1500.00 in 1979, I was quite as comfortable with the expenditure). Sadly, with today's systems, I don't even have an inkling about what is going on in the sound card (the trs-80 had a relay to stop and start the cassette recorder, if you switch that on and off quickly enough, it made a sound .Hi-fi, it wasn't). Even at the age of 79, I do still enjoy programming the latest chipsets but the nostalgia for the 8 bit days is intoxicating.
For sound capabilities I would highly recommend Yamaha's OPL FM synthesis. It's instantly recognizable, nostalgic, and sounds pretty darn good.
The benefit with OPL and FM synthesis in general is that, unlike the SID, it is purely digital and has no analogue filters, which dooms the SID to either be recreated in custom silicon, or faked in software.
The OPL chips such as the OPL2/YM3812(used in AdLib and Sound Blaster), and the OPL3(used in Sound Blaster 16) and their clones can also be had for a dollar or two, and I know of several people designing and building brand new Sound Blaster compatible cards, as chip stock can still be found readily online, but there's more to it than that.
With OPL, you can recreate the whole chip in an FPGA and have it be identical to the original in every way, and there's already code available online to do just that. OPL and FM synthesis in general, unlike the SID, is purely digital and has no analogue filters, which dooms the SID to either be recreated in custom silicon(absurdly expensive), or approximated in software(all SID chip replacements use this method still).
The digital to analogue converter that usually paired with said OPL chip runs at a nonstandard frequency alongside the OPL, with a master clock at 14.31818Mhz and a sample rate of 49.7159KHz, which may prove a little more odd to replace with modern parts, but far from impossible.
Nevertheless, it shouldn't be too difficult to implement and because of the nostalgia and past popularity, it would have a much greater following and ease of use as well.
It might prove hard to take full advantage of OPL with the 65816 when multitasking, if the clock speed is as low as the original processors.
Here's an example of some code I found for an OPL3 (YMF262) chip replicated in an FPGA: github.com/gtaylormb/opl3_fpga
OPL was definitely a great sound, I saw that fpga project too and was amazed. I'm pretty sure my Tx81z has a similar chip.
Why not a ym2612? Personally I like the sound of that chip compared to the OPL ones, at least from what songs i've heard that were made between the two
@@jlewwis1995 Oh, so you would like the computer to be a bit like the Sega Genesis
I had no interest in the games you developed as your last 2 long-term projects, but this computer is a product I could see myself actually buying (assuming you are able to keep the cost reasonable).
He mentioned it will be 50 bucks to 100.
@@HoboVibingToMusic He mentioned that was a goal.
Same here
just a question. i'm not sure if that Dream Computer is to connnect to a C64 (like that prototype) or a Stand Alone Computer.
@@napomania He's describing a stand alone device. The C64 is only for prototyping until the kernel can take over.
I painted a 4116 chip on my school bag in 1987 with silver metallic paint. Since it's much more difficult to paint a 6502 and I did not have a broken CPU chip, I painted that 2 kB memory chip and glued a real 4116 chip under the enlarged painting.
"Best Seller!! Over 30,000 Sold Worldwide!"
Wow. That really takes me back.
Interesting project!
Reminds me of a discussion I had with my cuz. He, born in 72 and I, born in 86 have entirely different computer origin stories. He started with the Vic 20 I believe and I cut my teeth on a Packard Bell 386 with Windows 3.1. This lead to entirely different computer experiences. Which ultimately lead to entirely different career paths. He went into industrial programming and I went into networking.
Long story short, it still baffles me every time I see anyone program in assembly or whatever being someone who grew up windows and GUIs.
If you’re using the 65816, something you should know is that bank zero contains the stack and 16-bit interrupt vectors (and since they’re 16-bit, the interrupt handlers are expected to be in bank zero as well). So for bank 00, you’ll have to do some odd stuff where the bank is part RAM (for the stack) and part ROM (for the interrupt vectors and handlers).
Source: W65C816 Data sheet + “Programming the 65816” by David Eyes / Ron Lichty
Snapp Which is another typical low end FPGA or CPLD job.
John Francis Doe ?
I thought the stack was page 2 on the 6502, and has its own high-bits register on the 65816? Oh! You mean the first 64K, not the first page.
Why not copy a ROM image to RAM, scattering segments to various addresses if it is discontinuous, at reset? You could use a cheap serial flash chip and be cheaper than a full bus interface.
John Długosz That sounds like more work than should be needed.
The location of the interrupt handlers can be anywhere within bank zero. The interrupt vectors that point to the handlers have set addresses. For example, the RESET vector is located at FFFC,FFFD. For the general IRQ vector, it’s located at FFFE,FFFF in Emulation Mode and FFEE,FFEF in Native Mode.
That’s not hard. I’m designing my own 65816 system and as I come from an Acorn background it’s going to be somewhat like a BBC Micro/Master memory layout. So bank 0 has a 32K static RAM and 2 x 32K EEPROM devices. The reason for 2 is 0x8000 to 0xBFFF was paged ROM (it could support 16 “sideways” ROMs) and 0xC000-0xFFFF is for the OS. The 32K OS is two 16K banks switched by the emulator pin (because the Acorn OS has vectors for OS calls which clash with the 16 bit vectors). Finally the edge connector has a ME line which if pulled low deselects ALL of the onboard memory. It’s taken about 5 TTL chips to do this.
What I miss about 8-bit computers is the need to be creative to make something useful out of a limited set of resources. Resources that I fully understand. Each nook and cranny. The hunt for 10 more bytes of program space. The smart tricks to cram one more function in an already-full memory.
What? You don't enjoy writing hundreds of lines of JavaScript code for your Proton "app" with a minimum requirement of 2 GB RAM ? _obvious sarcasm_
@@terranrepublican5522 Java yup. Javascript no way man. BTW I hate both haha. Kotlin is better for me =)
Terran Republican get on my level, try to write the largest possible kernel in assembly and C with more useless features than you’ll need
Remember going through assembler printouts counting clock cycles to find ways of speeding up loops. Also self writing code was a thing.
The VIC-20 was my first computer. I got it for Christmas but mum & dad gave me the manual to read in advance and I read it cover to cover about a *million* times before the big day - it was a great manual! I was completely hooked from that point on. :)
Marvel: 'Infinity War is the most ambitious crossover event in history'
8-Bit Guy: 'Hold my keyboard'
Completely off the point, but is that an actual quote from anyone involved with the MCU? Doesn't seem likely since it's not crossing anything over. It's all one universe and has been since The Incredible Hulk.
John Galt Line woooosh
@@Wes8761 Not really a woooosh when wooooshing wasn't the OP's intention. I'm sure they can chime in if I'm mistaken, but it seemed like a hold my beer with a mistaken premise.
I'm getting 70's Apple Vibes
@11.53 That's why.
what I miss about 8-bit computers? It was the best time period of my life.
I have a different idea, I'd like to see a modern system with the size of the software shrunk down and simplified. There's a theory that programming could be reinvented so that the code could be 1/1000th the size but still have pretty much the full functionality that we're used to. Alan Kay, the inventor of Smalltalk is one of the people who's been working on this.
Google for STEPS and Alan Kay. He had a demonstration system that was based on a bunch of ideas, constraint programming, custom languages graphics and other concerns, in fact including a system for generating new languages as needed.
You should check out the Haiku project. www.haiku-os.org
You can always rewrite everything in assembly... so I expect you will be half way towards a browser in 100 years or so.
I'm guessing 8 bit guy is the same age as me as he went through the same vic20 experience initially. I wrote so many games in a mixture of basic and machine code (no assembler then) to shift graphics around.. Annoyingly I chucked the tapes a few years ago, I would do like to see my creations (of a 14/15 year old me) again. I then migrated to the atari ste and released a few games on that and then the gp2x games console. I'be been lucky in that I'm an embedded software engineer since the mid 80s and would never have got into this without my parents helping me to buy that initial vic20. I owe them so much and thankfully they lived long enough (my father died a few weeks ago at the age of 90 from pneumonia, possibly triggered by this covid-19 virus, my mum died from cancer 3 years ago, aged 81) to see me have a successful and interesting career. I'm now 53 and considering retiring in 7 years but feel I will miss messing around writing software at a low level once I do that. Dunno why I had to post this but thought it was a good placeholder to say thanks mum and dad for being such great parents and I miss you.
I spent my entire childhood as a TRS-80 Coco guy, fighting the "dark side" as represented by all my Commodore friends, and here we are, 35+ years later, and between you and Ben Eater, you guys have me happily and enthusiastically joining that dark side!! UGH.. My 12 year old self would be so ashamed.. :-) Keep it up.. I look very much forward to buying one of your computers once they're ready! Actually... I look forward to buying at least 3 more as gifts for others! I cant believe I am thinking of trying my hand at 6502 assembly...
I just want something game artist friendly for development and easy to port to modern platforms. Good sound card would be rad too.
Also, I don't want to use facebook.
Even a not very good sound system could be good enough.
If you want low cost, perhaps making the video character fetching system fetch a few extra bytes during retrace could give you the audio DAC values. 3 16 bit values would be more than more than enough to make sound clips play.
how about IRC or Riot.IM?
You should open-source your kernel so that your fans may edit the kernel. Maybe under MIT/GPL
No we don't need another linux
Why do people use the MIT licence? What are the advantages?
@@mhammadalloush5104 We don't need. We want.
@@roylastname9367^
@@roylastname9367 GPL is more restrictive than MIT for later distribution/use. If you license your software as GPL, anyone using it in another project must license the whole project as GPL. With MIT, any project under any license can include your software, so long as it carries the MIT license for just that part of the software. It can even be compiled (and closed source) so long as the notice of the license is there.
I wonder if Bill Herd, the former lead engineer and creator of the C128 might be able to help him out with stuff. Bill did guest star in the Commodore History series in the Plus4/16 (TED machines) and C128 episodes and he's intimately familiar with all the Commodore machines, likely especially the 64.
EDIT: Bill also knows what the VIC II did and didn't do and might have input on a good replacement.
"Limitations Breed Creativity" - Adam Neely
One of my favorite quotes for many reasons
@Max Raider Comparatively, yes. However, not many languages are that easy for the young to learn. The keywords and syntax are made for the new.
It sure does breed creativity, but only up to those limitations.
Never a trued word spoken. Been there. :)
peek and poke... You miss the point, I think.
The "floppies were so slow" was solely an issue of poor design by Commodore and Atari (weird both companies made essentially the same error). My first PC was an Apple IIe and thank God (or rather Woz) it had a very fast floppy drives and 80-column support out-of-the-box. That made programming and things like word processing (Apple Writer IIe got me through all my high school writing assignment) very nice. While the Apple IIe suffered when it came to graphics and sounds, Woz's efficient design that allowed for a fast, cheap disk drive and 80-columns made both ubiquitous. Those two base features kept the Apple II line alive long after it had any right to be relevant. Many game devs used Apple IIe's as their "workstations" (sometimes with custom IO boards in a open Apple II slot) and cross-compiled to the "more powerful" Atari and C64's.
Yeah, I never though about floppies as being slow back in the day with a ZX Spectrum clone. Compared to 5 minutes of loading from a tape, 5-15 seconds loading from a floppy was a breeze.
Not so much poor design as rushed design. The release date drew close, and they needed those floppies working with great urgency.
yeah floppies were fine since everyone modded the C=64 to make them run 5x faster
I did both an English minor and Comparative Lit minor at University on Wordperfect for Apple IIe. Green monochrome monitor because my parents wanted to minimize game time. Although come to think of it, it needed an "80 column/ 128 kb RAM card", -not out of the box!
Vyl Bird: You are quibbling over the sense of "design" being used ... the original design concept was better than the final delivered design, as shown by the much better C128 serial disk interface, which is much like what the C64 would have been if the CIA's had been able to do hardware serial I/O on the serial bus.
I think for me, the appealing aspect of 8 (and 16 bit) computers was the simplicity, yet complexity in terms of what you could do with them (of course, by today's standards these are nothing, but back then, you could do some pretty cool stuff, and you didn't have to worry about things like updates, viruses -- at least not as much -- and other things you battle with today, software compatibility, drivers, security, etc). They were a simpler computer, but a more fun experience IMO over what we have today. Granted what we have today is great, but as computers got more complex, so did the upkeep (so to speak) of them.
As part of my master degree I had to design a 20 command Microprocessor/Micro controller. I had an idea from the 68HC05 Trainer board, which only had a 16 key keypad and two seven segment displays I learned Assembly on. I design a actual computer around my Micro controller, added five more commands to allow it to be programmed, and added a series of LED;s to the top that could show the status of each bit of the registers. I when way above the requirement of the assignment, and I did get an A, the instructor wrote "fine" on my report. I keep that report, and have shown it to other instructor at the schools I have been an adjunct at. At least one has said it would be a great computer for people to learn assembly on.
While yes, the statement on the 65816 is backwards compatible is indeed correct, some older 6502 games used illegal opcodes, something that doesn't work on the 65816 (were overwritten with the newer opcodes).
WDC produces the 65C02, not the 6502 unfortunately for us :(
Well, since this would be a new system, it wouldn't run old stuff for C64 anyway, so that backwards compatibility wouldn't be an issue.
No VIC & no SID = not a C64. He's only using it as a general guide for architecture design. Make a C64-like machine freed from some of the more annoying limitations that don't "breed creativity"
@@zerobyte802 I'm saying this less of for backwards compatibility with C64 games, but more in the sense that some illegal opcodes are really useful; some do two intensive instructions at once, and save space in the process.
Well, since you didn't ask me, I'll share anyway... What I missed about the Commodore 64 was the excitement of new things. Amazing things that were never done before. From games to office productivity. Everything - from the beginnings of email to BBS's to cool games. Everything and everyone was on a race to the next great idea and there was no shortage of them either. We simply don't have much of that anymore. Sure, graphics are better - sure, sound too - but in the end, most of everything we have today is just an improved version of these 80's developments.
Awe man, peek and poke. Brings back memories of going to the public library and printing out tons of graph papers for programming in my C-64. 😌
I did much the same on BBC computers with BBC Basic when I was like 9 or 10. I used to get excluded from school for using the computer rooms at lunch-time. Apparently it was s silly fad and so was use of calculators... LOL
Who's laughing now?
One thing I miss about old 8 bit machines (mine was an Atari 800xl) was the ability to access the physical bus or program the game sockets. The most interesting thing I did was replacing a paddle controller with a light sensitive cell and creating an optically triggered alarm.
I personally would have gone with a Motorola 68000 CPU. The 68000 has a flat 32bit address space, hardware multiply, it's simple, it has a very simple and clean instruction set, there's better C compilers for it. Every register is 32 bits The 6502 is kind of tedious
but i guess he wanted assembly language compliance with 6510; most of mainstream 8-bit computers used a 6502/6510 cpu
@@alerey4363 I suppose so. I'm not sure why you'd want to stick with 8 bit, though. You could get a C64-like experience with a significantly faster, easier to use, cpu for the same price as a 6502
Because the m68k is not even close to the fun and elegance of a 6502 or derivatives. Having coding for both of these systems in the past, one can see why m68k died the way it died (not even spark succeed, and spark was based from the m68k... but to be honest, the old good computer era died with the m68k...), and the 6502 heritage is still in use as of today (arm). Of course if you don't like the 6502, you probably like the m68k. To each it's own.
@@terramap2902 it's pretty well accepted that the 68000 has one of the most human-friendly ISAs. I moved from coding the 6502 to the 68000 in the 80s.
The 68k was enormously more developer friendly. With the 68000, ALU operations have a nice bag of addressing modes to pick from. It makes a smoother flow writing code. I do want I want to do in one instruction rather than four or five.
Not to mention the 6502 barely has any registers. While the 68000 was ahead of its time with a large number of general purpose 32bit registers. Naturally this makes coding the thing more pleasant as you spend less time juggling the registers and/or stack.
On top of that, the 68010 supports privilege levels, so you could make a proper OS, which makes it more interesting from a comp-sci point of view, some of the 68* series also supports memory mapping
Well.. it seems that [your dream computer] != [8-bit guy and the rest of us dream computer.]. Not trying to begin a holy war between dead architectures anyways (well.. not so dead considering m68k->spark, 6502->arm, z80->x86), so i'll stop here. Let's just say, we agree to disagree :)
(tho, my dream computer is a 6502 based machine, with 16 MB ram, multiple graphics modes, raster interrupts so video chip with non fixed RAM (so you can move the data anyplace inside the main RAM) is a must for me, at least 64 multicolor sprites, MIDI sound would be good, but depends on the audio chip he will put in there, and the standard ps2 port is not a bad idea... i think the RPI serial port can also be a good idea to thinker with, but i don't know if an internal sd card would be a good idea due to licensing involved...
A YM2608 or an OPL3 chip would be cool for a sound chip.
Second! Or, failing that, an ESS1869 or similar.
I think that it would be no brainer to not go with OPL or is older brothers. They are still made.
I would actually prefer subtractive synthesis. The SID even had analog filters. With FM you tend to get those cheesy casio-keyboard sounds. But yeah they can be charming too. I would really love to have both FM and subtractive, but if the whole thing is to cost around $50, that might be hard.
@@letMeSayThatInIrish At least YM2608 is a very capable FM synthesis chip. Nowhere near the "cheesy casio-keyboard sounds" category.
@@letMeSayThatInIrish the YM2608 has a YM2149 core in it that has 3 square wave channels like the SID chip, it also has 6 four operator FM channels that can be tuned to produce some realistic instruments, it includes another 6 built in drum channels and one sample channel. it also has GPIO.
The problem with using stuff like the Gameduino is that you very quickly end up with a very powerful graphics processor being scripted by a very simple applications processor --- you get completely insulated from the platform and might as well be writing in Javascript! Also, the Gameduino is anything but cheap, costing about two to three Raspberry Pis.
It's possible to bitbang VGA using an 8-bit AVR, at a fraction the price, although that's probably not suitable for game graphics, but it shows you don't need high-end electronics to generate modern video. If you aim at VIC-chip like capabilities you can probably replicate the same functionality using a slightly higher-end processor without going for a full-on high-end graphics chip.
I think if he agrees to use a Spartan FPGA, he might as well implement all the chips gfx/cpu/audio in that FPGA ;)
It only temporary solution
@Omega LUL it is, if only people would watch it
ESP32 as VGA generator? th-cam.com/video/qJ68fRff5_k/w-d-xo.html
@@aaba112 An ESP32 would work really nicely. It'd probably also be able to emulate his processor in software...
One of the negatives of 8-bit computing noted here is one I miss: the long loading times, especially from cassettes, especially the 1st time loading a game. The anticipation of how the game will be. I actually miss it so much, I turn off Turbo Load on my emulators.
I love his intro music it's so happy and jumpy
soundcloud.com/eox-studios/morning-dew
You're welcome :)
man I LOVE when you ask other youtubers like MVG. It's so satisfying so see them and they always have something very relevant to say
You really need a 100% custom kernel, otherwise Cloanto will sue you even if you license the old Commodore ROMs. Even mentioning that you looked at the code might get you sued, even with a 100% original kernel, since Cloanto is primarily a lawsuit troll company.
Likewise, the Commodore BASIC v2 or v7 will be copyrighted still, by Microsoft. It may be better to implement FreeBASIC or OpenBASIC if you're going that route. Both are derived from QBASIC, have available compilers, and actual graphics routines.
Going from there; if you're using an FPGA anyway, it can drive the VGA output I believe.
For IO, is there a reason to choose PS2 peripherals? Why not pick up a USB controller, since USB keyboards, joysticks, and mice are common now? I don't think I've had a PS2 connector on my last two or three desktop builds, and I certainly haven't seen a PS2 keyboard for sale in ages, only USB.
How will sound be handled? Something like an OPL chip?
agreed, set aside some funds to see an attorney who has a track record specializing in these things before getting too financially invested. all it takes is a request for an injunction to shut you down at the very least, and at worst competely drain your resources to zero. not sure you would be able to afford a six figure litigation team to fight something they have a case for.
There's a difference between being compatible with Microsoft Basic and shipping with Microsoft Basic. Shipping with a FreeBasic but being compatible with Commodore Basic v2 would be by far the safer way to go.
Good luck suing for copyright when 90% of the work is original.
tenshi7anegl: They can still sue. They could well be looking for just enough of a claim that it's not immediately dismissed, since for copyright trolls, sometimes it's not the threat that they will beat you in court that they are counting on, but rather the cost and inconvenience of having to go to court to beat them.
@@brucemcfarling7810 A cost and inconvenience that you can make them fully pay for.
I didn’t know MVG was on a video from the 8-Bit guy, right on!! I love MVG, even if I understand half of what he talk about, still very interesting to watch
I was impressed by planet x2 / x3 but this is some next level shit. Man gonna write his own kernel.
Woodythehobo absolutely true. It is mind blowing
Kernel writing isn't that hard , its like falling out of a tree once you broke your arm , your back in the tree to brake the other arm ;)
It's a program , think simple memory and time shearing thoughts
Is quite impressive that he’s doing that I’ll give him that but I’m 13 and I’m actually working on a small kernel of my own :/ but still he is going beyond that and putting it in his own hardware, not only that he’s doing it only in assembly, I’m doing it in assembly and C which makes it much easier. At this point idk why I’m writing this lol I’m fucking stupid
Writing a Kernel it's not that advanced, it's a 3rd year course in my career
Linux 2
What I miss about 8-bit machines was watching in amazement that programmers could overcome the extreme limitations placed on them to create some real masterpieces. That's why I'm a big fan of the Atari 2600 & IBM PC demoscenes.
The greatest unpopular micro, the Atari 800L.
Aww man I still really want one buy I could never find a good one.
Tramiel had something to do with it, the same ideas appeared later in Amiga machines. What a great time!
7:00 That was comedy gold. Something about that voice.
S.A.M! The Software Automatic Mouth!
6:58
■THE 8-BIT GUY■
| HEY ROBIN |
-----------------------------
I love that
Just ordered an X16 from TexElec so i'm re-watching the entire playlist, can't believe it's finally here!
one suggestion, move off Facebook. maybe use Discord?
there are many reasons for this, but mainly Facebook is just scummy.
hope this doesn't sound too negative. love you!
onedeadsaint He probably could even set up his own web forum on his site.
@@JoePCool14 yeah, even that would be better lol
I can understand, that you find Facebook scummy.
But Discord? They are not really better.
I personally think a forum would be the best solution, because you probably have different topics to cover and you'll probably don't want to read through a whole Chat-History just to find the thing you are searching for.
If you recommended Reddit, it would have been a whole other story(I personally don't like Reddit either, but it would've been a better suggestion).
@@MrDavibu thought about saying Reddit as well, though honestly a forum on his site would be the best solution. just wanted to spark the discussion really.
Facebook has a much larger user base and is also much more accessible by the majority of people. If he used his own site it would be better but still not as streamlined as Facebook.
I purchased a twin 5.25 in floppy drive box for my BBC B back in the day. What a revolution compared to tapes! Program on the A drive and data on the B drive. Great stuff! Still works.
Btw your initiative reminds me of Linus Torvalds' first days of his Linux OS.
Wait… The 8-Bit Guy is designing a 16-bit machine? ^^
Too late. You anticipated me :)
16-bit guy
I was considering being the 16 bit guy.
@@ryanyoder7573 Ahoy is The 16-Bit Guy, eediot.
the 2x8BitGuy
7:15 Clint's whole section in this video is exactly what I love about retro hardware and is something I've really been struggling with as a game developer. I actually have a license to work on modern hardware as an indie but still I feel that there's no limits with the modern hardware and thus I feel I'll end up making a game that feels just like every other game or worse will just not be that interesting or fun because well "I could do anything, so I did this"
Richard O'Brien, the playwright behind the Rocky Horror Show (1973) and Shock Treatment (1980), has a quote that I think really applies here and has become the basis of my mindset as a developer "Limitations inspire creativity", this comes from the person who had to rework their movie to be recorded completely indoors after a writers strike caused outdoor filming in America to no longer be an option so they rewrote the movie to take place in a TV studio where all the locations were no represented as shows on the channel.
This is a lesson I think many developers could learn from nowadays, sure the AAA companies won't but that's okay, indies could as those limitations are already there in other ways so why not make a game within them instead of trying to reach outside of them. I've seen various "retro" looking games that didn't adhere to the limitations of the old hardware and that just made the game feel off to me as I knew that's not how the old graphics looked so it made the game feel surreal. For some games that was the point and those games used the dissonance to their benefit but some were supposed to be convincing and just weren't.
So that's what I miss about 8-bit computers, if you tried to fly you hit the ceiling and reality would come back into perspective instead of letting you clip through the roof and off to space like modern hardware does. In non-metaphorical terms, it actually restricted you to adhere to it's limitations and if you wanted to escape from them, you had to be more clever and even then it still kept you down to Earth.
Please come up with something better than a facebook group.
Agreed. Some of us have an allergic reaction to Facebook.
Assbook
Indeed! Discourse is a nice free software for running a forum.
Discord, Slack?
Discord for gaming is fine, and it's managable with a smaller community, but once it exeeds the low 3 digits of members it becomes too crowded.
And facebook, well haven't been there for close to a year and have the feeling I'm missing nothing.
This is a really cool video series. Can't wait to see where this goes. keep the content coming!
Seeing as how the current model sources chips that are not available and is five hundred dollars this did not age well
Will await your upcoming retro platform.
I get that feeling with full control on old machines. It did what you told it to do and if it did something it wasn't supposed to, it was more than likely your own fault. And wringing every inch of performance out of that C64 or old PC by tweaking just felt great.
I typed in Tank v.s. UFO and kept it on for 3 days because I didn't have a datasette unit to save the game. lol
What does that do?
Lol I did the same except I left mine on for a week, until my dad turned it off! Noooòoo
407 Kevin Miller Rd, Kennedale, TX 76060
@@osworthtork7492 i dont think you should be sharing his location online.....
Reminds me of the time I played Theme Park on the PSX which was kept on for days until I finally bought a memory card. Childhood memories.
If you want to learn about "computer architecture" you might as well pick any ARM SoC and go through the datasheet for it. Proper buses like pci are rare so it's mostly like an old machine with a better CPU running it.
Those datasheets are monsters though. An old Z80 is ~200 pages. Even a simple ATmega328 μC is almost 700 pages. If you add all of the design and relevant app notes this could easily top 1k pages. That's no small task for the inexperienced to tackle. There is a ton of assumed and contextual information in modern datasheets. Between the sales terminology, inflated metrics, and intentionally omitted info it's no walk in the park to learn on modern hardware in my (recent) experience.
-Jake
@@UpcycleElectronics
>An old Z80 is ~200 pages.
The Z80 isn't a SoC. The block diagram of a recent SoC is going to be a single page and then you can get any info you want to know about a block from the reams of data provided.
Still patiently waiting for Part 2. It's looking good so far but will it run..... Eh, screw Crisis, will it run Planet X3?
p2 is here
crysis dumb ass
@@johnalbertson79 Crysis dumb-ass.* Dumb-ass.
why did my mind instantly go to “rawr X3” I’m not a furry I swear
@@supern0v477 I trust you, all fur... Oh crap
I love legacy relics of the golden age of personal computers that required an artisan to operate i remember my at and xt computers up till 16 and 32bit computing blew the minds of us nostalgic geeks... these machines required skill or hidden talent to operate.. i learned QBASIC aka quick basic when i was 11 and got ms dos 6.22 and windows for workgroups wfw 3.11 for my birthday
The moment, "no updates to worry about" were mentioned, iOS popped up with a notification, reminding me to update.
Why not ask Linus Torvalds for the kernel part? He really liked the 6502.
How about contact Dave from the EEVblog? He is excellent with PCB, knows a thing or two about 8-Bit systems and knows how to work with display buses.
The problem is when Dave gets excited his vocal range exceeds my hearing.
@@vizionthing Woow look at this wooow! Wooow!
He also receives a lot of mail in his PO box with useful bits :D so he knows what's up.
Isn't he more interested in new computers?
@@thorham1346 well it WOULD be a new computer in a way... but he reviewed modern 6502 computer kits before i think and classic IC deconstructions, anything with educational value. It stands to reason he might be willing to contribute to an effort just as long as he can see an educational angle to it.
Immediate gratification when you turn on an older system. It just brought up what you wanted, and fast. Same for the programming, no layers to access or go through to do low level bit manipulation. Great video!
You should take a look at TI graphing calculators, they're basically the closest mass produced modern equivalent to old school 8 bit computers in terms of closeness to the hardware and their limitations and I know a lot of people who first learned to program on them. It's usually relatively easy to start doing assembly on them, the memory and the speed are somewhat limited so you have to take that into account when writing programs, and they typically come with pretty extensive user manuals, plus you can hookup a TI-Keyboard to get a closer experience.
The things are still $100 USD in stores and the 83+(!), the gold standard in math graphing calculators, can't do audio without sacrificing every cycle of the CPU to output to the 2.5mm port! I loved them in school simply because the Gameboy was relevant at the time and it's not like I had anything better to do... "Oh yeah, watch this date rape video" No thanks, I'll code my own rooms for a Doom engine I translated from the TI-85.
@@DoomRater True but can you think of any other modern 8-bit system with as much of a community? Most modern single board 8-bit computers are little hobbiest things and don't have anything close to the community you see for TI calculators. They're also significantly cheaper used, as little as $20 for a TI-82. The newer color editions bridge the gap somewhat between 80s computers and calculators. Granted it lacks dedicated sound hardware but it's theoretically possible to set up a DSS situation or even wire in a SID with a microcontroller
Okay okay, second hand market rules, and I own a few calculators that way, but how many parents know to do that? The color systems are something to behold, but my research is non-existant on them. I don't really know what they're capable of right now. Just keep in mind we have to get this knowledge to parents of kids in high school who are going to need the industry standard.
@@DoomRater The 84 Plus CSE can do some clever stuff with audio but the 84 Plus CE is still pretty new and nobody has built a DAC for it, that said the 84 Plus CE has basically the most powerful 8 bit chip on the market right now (eZ80 48mhz) so it certainly wouldn't be short on cycles running a dac.
I never should have sold my TI-85!
The Acorn Atom was a beautiful computer to use, in its day.
The ability to code assembly language into BAsic programs, which could have offsets and macros, so the code could be saved to tape , and then reloaded into the required locations.
Or the code could be compiled in site and then called.
And the indirection operators ? ! for byte and 16 bit word access to memory directly.
And of course the expansion bus was compatible with the mprevious System 3
And it was the foundation for what would have been the Proton, but in fact later became the BBC MICRO , *sigh*
Hey!! I _loved_ my BBC model B. My first computer really :) Loved it.
I bought one last year but it arrived with no IC's inside lol. Damn eBay so refunded it. Archimedes has some cool machines too, aww those were the days.
In the early 90s, my mom got me a commodore 16 from a thrift store for 7 bucks. I was 11 or 12.. I went to the library and got programming books. None of them were about the commordore 16 exactly.. (i think they were for a 64 or a vic-20 its been a long time)so I had to wing it... plus I had no way to save. I never had any cartridges either.. I would just hook the computer up to a black and white tv that as in my mom's bedroom, turn the computer on.. write programs.. then turn it off and lose everything I just typed. One time I wrote a police record program and made my brother think I hacked into the police department. It was just a simple menu program.. if you pushed 1 then it would bring up a fake police record. not bad for a young kid.
I always found your original "No fpga/microcontroller" point amusing as those things are really handy for implementing glue logic.
Also for adding I/O as well. Taking the Z80-MBC2 as an example the ATmega32 chip on there gives you I2C, SPI, serial UART, basically everything onboard an Arduino. There's no denying the cost reductions and flexibility you get with a microcontroller.
Any particular reason why you don't want to use an FPGA? 8-bit computers can be reproduced in pretty small FPGAs. In fact, some of the FPGA clones out there (such as the ZX-ONE, which has a C64 core) are already about $50. In any case, you'll probably end up with an FPGA-based video chip anyway, so implementing the CPU inside the FPGA too may end up reducing the cost of the machine.
I think he simply wants to use actual physical hardware...the original real deal...it is similar to why I rather use actual, original Amiga hardware instead of a new and much faster Vampire FPGA.
An FPGA is actual physical hardware, you can just reconfigure it to act like any custom chip which fits. If you have deep pockets, you can build a custom chip with the same configuration you've programmed into the FPGA and it will do exactly the same thing.
@Matthew That's right, even if it is even further away from 'actual hardware' compared to the FPGA. It would be an interesting option, though. I imagine you could use some dual-port SRAM for video memory so you could have direct frame buffer access from the CPU and the propeller is fast enough to implement sprites and other features.
Well there is no "rational" reason not to use a FPGA. but as he mentions its to be able to understand every part of the computer by just looking at the chip.
Its like getting a plastic flower, it will last forever and needs no water rationally the best, but a live one feels more real it smells and feels more alive. a proper CPU is that and nothing else a FPGA can be anything we want and don't want and feels less real.
@@MrSEA-ok2ll Yeah I think so do, otherwise probably the cheapest c64 basic solution would be to use an entry level Pi and add an autostarting c64 emulator to it, this would address the issue of starting to program, it often does not really matter if the hardware is simulated or real especially on those old 8 bit systems. But it is not the real hardware then.
It seems to me that what you're after isn't so much the right kind of hardware as it is the right kind of operating system and environment. It's the OS that's isolating you from the hardware, not the hardware. The only reason you didn't feel isolated from the hardware on 8-bit computers was because the hardware wasn't powerful enough to handle anything more than a rudimentary environment. Mainframes for example had device drivers, preemptive multitasking, etc, long before 8 bit computers arrived. Once home computers became more powerful, they adopted the already well known and understood features of more powerful computers.
So as I was saying, I think you're just after an OS. I know you already said that linux feels like you're isolated from the hardware, because you are. But the linux kernal and all the extra features included in linux can be easily adapted to give you the experience you want. You can strip out the GUI and all the other crud that comes with linux these days. You could even strip out all the security and MMU features so that you could write code to anywhere in memory that you like without the OS stopping your program. If you went this route you'd get a lot of advantages. You'd already get support for things like modern graphics drivers, any kind of storage devices including removable flash, printer support, networking... anything you'd want. You could greatly simplify the environment without giving up all the stuff you'd want to keep. So your exercise would be like you described for the c64 kernel. You'd be stripping out stuff you don't want instead of reimplementing the stuff you do. You'd also get the ability to run on everything from the base raspberry pi (or less), up to modern desktops. You could probably run this OS on 386 machines for example. I had linux running on my 486 back in the day.
It doesn't have the romanticism of 8-bit hardware. But it would seem to meet all your requirements and still be an interesting project. And I wouldn't be surprised if an existing distro wasn't most of the way to what you want already, like maybe slackware or gentoo.
www.includeos.org/technology.html
Should be a great place to start building own OS with retro style interfacing with the whole system.
I wish I could like this comment multiple times. I was thinking of this exactly.
Very good thoughts! Made me imagine an App call it "Backslider" and it is a single screen of checkboxes with which one can dummy down Linux (or smarten it up).. But then the first checkbox would logically have to be Bits = 8/16/32/64 and I think the tree becomes effectively infinite pretty quick..
At the same time, I think part of the appeal is to design some hardware that is also limiting. Sure you could trim down an OS running on a modern machine, but it may mean more when it's a requirement in order to run on the hardware you're designing.
Terry A. Davis did similar thing. Too bad he was ill.
The thing I like most about 8 bit computers is the fact that I am sitting in a modern world with modern, cutting edge technology, using what was once considered those same modern things. This is why I like the CRT/composite, floppy or cassette drives, and all the things that are so hard to get, because I enjoy the thought of using something that was once cutting edge.
Interesting idea for a product, especially considering you have all of the benefits discussed with an 8-bit system, while expanding it to 16-bits.
I think that your idea for using the gameduino for video is a great one (I had never heard of it until I saw this video). I took a look at the verilog (it's a bit of a mess), and it should be very easy to provide an 8-bit interface as well as HDMI output (you would need an HDMI transmitter chip, but the FPGA could output 24-bit pixel data). That modification would probably only take about 30 minutes, but you would need to redo the PCB / board for the updated implementation.
As far as connecting it to the C64 bus, that should also be fairly easy, the biggest issue would be timing, which would probably need to be debugged in circuit. Effectively though, you can make the FPGA appear to act like any other chip or device that you want, for example, you can attach an FPGA to an ARM CPU via a NAND flash port, and make the CPU think that the FPGA is just a NAND flash chip with the ability to read / write to the address space.
I don't have a facebook, so I can't join your facebook group. I would be happy to talk via email or discord though.
Isn't there issues with needing to buy into a license arrangement to use HDMI? I know there is no way that the thousands of different Chinese devices have bought licenses. I'd reckon this would stay under the radar, regardless
@@markstrickland438 That's a good point (I wasn't thinking about licensing when I posted the comment). There must be a feasible way of dealing with the HDMI licence though, since for example the Raspberry Pi uses HDMI and only costs 35 USD. It's possible that you only need to licence it if you use the HDMI logo, or an HDMI logic core. If that's the case, then using an HDMI transmitter chip from pixel data, will already have the licence fee in the chip cost itself (since it basically uses a 24-bit VGA interface for the pixel input data). I have never looked into this though, so I'm not sure.
Essentially DVI over an HDMI connector, at that point
@@logansorenssen I guess technically that's true, since HDMI is effectively DVI. I think that the only difference is that DVI has a less restrictive spec than HDMI (plus HDMI can carry audio). The point would be that you could plug an HDMI cable from the video board into an HDMI port in a monitor or TV, and it would work. It's becoming increasingly difficult to find display devices that have VGA ports, so this is probably a necessity for the longevity of such a project.
@@markstrickland438 Display Port would be the royalty free alternative, although that's more difficult on the implementation side of things.
Hmm.. The Facebook part made me not so sure anymore... I don't want to be anywhere near that company again for as long as I'm alive!
@John Stroud Well, Google owns Android which runs on my phone, so I might as well use TH-cam too :P (If that's what you ment? ^^)
What about Discord? or maybe slack?
It would be nice if there was a subreddit for this
I don't have the technical acumen to be of any assistance but I'll happily chip in on the crowdfunding. :)
I learned BASIC on the TRS-80 Model 4 and wrote arcade games (Tron, Warlords). Then jumped into Assembly, then C++, now iOS Swift. What a journey it’s been and what a difference in computing power now!
It would be a real dream if it could eventually support "GO 64", "GO 20", "GO 16", "GO 4" to switch Kernals.
Go 128 ?