12 ms·
C64 OS: make a Commodore 64 feel fast and useful
- throwaway81523 5y agoI saw part of a John Wick movie on TV last week and recognized the C64's that the crime syndicate used. Seeing them made me smile.
- colordrops 5y agoLove the design of the website, despite the difficult readability of the fonts. Simple easy layout, happy vibes, reminds me of the old days.
- tyingq 5y agoInteresting. I know some have tried to make faster versions of old 8 bit computers from the hardware side instead. Here's an FPGA-based drop-in replacement for 65C02 that runs at 100MHz: http://www.e-basteln.de/computing/65f02/65f02/ http://www.e-basteln.de/computing/65f02/65f02/ Not tried in a C64 yet, but he did get it working in a Commodore PET.
- basementcat 5y agoYou can’t just "drop in" a faster 6502 (or 6510) into something like a C64. For one, all the serial i/o routines are software bit-banged so parts of the "ROM Kernal" need to be modified. More importantly, the VIC-II chip is the DRAM memory controller and it is tightly coupled with NTSC or PAL signal timings. Most accelerator boards for the C64 need quite a bit of glue logic to overcome these difficulties.
- tyingq 5y agoIt has some of that accounted for, like: "Upon power-on, the 65F02 grabs the complete RAM and ROM content from the host and copies it into the on-chip RAM, except for the I/O area. Then the CPU gets going, using the internal memory at 100 MHz for all bus accesses except for any I/O addresses" There's also some soft cores for a Z80 that can work at the stock clock speed, but do more work per cycle, which is interesting. Edit: Some, not all, things are covered.
- basementcat 5y agoThe reason why many 8 bit home computers put the memory controller in the graphics chip was to give the graphics subsystem "first dibs" over bitmap data in RAM. If the microprocessor has its own copy of RAM then the graphics subsystem may never update the display unless the cpu "writes through" all memory write operations (resulting in a significant performance slowdown).
- homarp 5y agopreviously discussed at https://news.ycombinator.com/item?id=28852857 https://news.ycombinator.com/item?id=28852857
- z3t4 5y agoIf you are interested about the OS: http://c64os.com/c64os/ http://c64os.com/c64os/
- boondaburrah 5y agoMan I really wish people would stop writing javascript to load in images only as a scroll to them. It makes web browsing so much slower.
- jazzyjackson 5y agoI love these projects that show what can be done with 1mhz cpu and mere kilobytes of ram, really makes you wonder what we’re doing with the other 99% of hardware performance we’ve achieved since then
- amelius 5y agoUh... watching 4k video, for example?
- badsectoracula 5y agoYou certainly don't need modern PC power even for 4k video, though you may need it for doing realtime decompression of some very high compression codecs (but that isn't "watching 4k video", it is "doing realtime h265 decompression for 4k video" or something along these lines). Though codecs are one of the few cases where you see hardware being taken advantage of because that is basically their entire purpose.
- codedokode 5y agoPlaying video is very expensive task. Just updating 4K screen at 60 frames per second requires transferring of 3840×2160×60 ~ 497 million pixels or 1,49 Gbytes per second (if you skip every fourth byte). It will take at least several instructions (in the best case) to calculate value of every byte so the CPU should be able to perform billions of instructions per second. I doubt you can do it without a "modern PC" with hardware graphic accelerator. Also modern codecs require lot of computations and lot of memory. For example, codecs like VP9 require to buffer up to 8 frames for reference. That would take 8×3840×2160×4 ~ 265 Megabytes of RAM. The program will need to extract bits, decode arithmetic coding and calculate lots of IDCTs. I did some research to see if it is possible to play Youtube video on 8-bit CPUs. What I found is that there is little hope for this. It's better to develop your own video compression format.
- rbanffy 5y ago> Playing video is very expensive task. Just updating 4K screen at 60 frames per second requires transferring of 3840×2160×60 ~ 497 million pixels or 1,49 Gbytes per second Or an analog signal and you do it the way TVs used to do. There were analog HDTV standards before we all moved to digital.
- dang 5y agoPast related threads: Shared Libraries for C64 OS - https://news.ycombinator.com/item?id=26590376 https://news.ycombinator.com/item?id=26590376 - March 2021 (1 comment) Rethinking the Commodore 64 Memory Map (2018) - https://news.ycombinator.com/item?id=20317767 https://news.ycombinator.com/item?id=20317767 - June 2019 (17 comments) C64 OS: A Commodore 64 OS with Modern Concepts - https://news.ycombinator.com/item?id=17997911 https://news.ycombinator.com/item?id=17997911 - Sept 2018 (42 comments)
- bananabernhard 5y agoI'm a bit bummed out that it's closed source - I would've liked to look through the code.
- kingcharles 5y agoIt's a GUI OS, not command-line as I expected: http://c64os.com/c64os/usersguide/ http://c64os.com/c64os/usersguide/ (screen shot)
- warpspin 5y agoIt's still a text mode GUI, though. C-64 has support for custom character sets, it uses those to have some uncommon symbols.
- mastazi 5y agoYou can see a bit more of the use interface here http://c64os.com/c64os/usersguide/userinterface http://c64os.com/c64os/usersguide/userinterface
- fangorn 5y agoYou might want to have a look at http://lng.sourceforge.net/ http://lng.sourceforge.net/
- aj7 5y agoI liked the post, but why not emulate on faster, more portable hardware?
- noobermin 5y agoThere was an ad for an extreme engineering show on cable decades back that had a dude say something like, "Why would we put a jet engine on a motorbike? Because we can!"
- nradov 5y agoCool project. But much of that functionality was available with GEOS in 1986. https://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29 https://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system...
- the_af 5y agoThe author mentions GEOS among those efforts that, and I quote: > [...] had good intentions but pushed the machine in ways it wasn't designed for, compromising on speed and usability in the pursuit of features available on more powerful computers. I must be honest and say the statement feels a bit puzzling, since C64OS certainly wasn't something the C64 was designed for...
- layer8 5y agoMaybe they are alluding to the fact that GEOS was using graphics mode for the GUI (which makes drawing the UI slower and requires more memory, thus arguably would require a more powerful machine) where C64OS is using text mode (plus the graphics split mode) which arguably is more suited to the C64.
- deleted 5y ago[deleted]
- gerdesj 5y agoI remember switching floppy discs rather a lot when trying to use GEOS back in the '80s. My C64 now has a USB interface 8)
- mvexel 5y agoSame. GEOS was really cool, I was blown away by the 80 column mode. But it felt more like a gimmick and I never ended up really using it for anything real. But then again, I was 10 years old and more interested in playing Raid on Bungeling Bay.
- prvc 5y agoI see lots of instructions on how to set up a system on the website, but nothing which tells me why this software would be useful.
- the_af 5y ago"Useful" in what sense? This is retrocomputing, a hobby. Nothing about it is "useful", it's about playing with old computers and emulators for its own sake.
- jogu 5y agoThe first thing on the page is: > C64 OS has one goal. Make a Commodore 64 feel fast and useful in today’s modern world. So I guess whatever "useful in today's modern world" means. What does this new OS allow me to accomplish on a C64?
- the_af 5y agoOh, somehow I missed that sentence. I think it's tongue in cheek to be honest.
- ddingus 5y agoLooks to me like a couple things: File / Disk management. The file manager program shown looks spiffy, and is definitively a nod toward today. Write utilities and apps that have a modern workflow. While not much, the included tool kit has the features needed to make applications and utilities people might recognize today. The author has put quite a bit into it. Nice work.
- prvc 5y agoThat would be a good question to ask the author, although, to be fair, he only claimed that it feels useful.
- rasz 5y agoIts not meant to be useful, its meant to be nostalgic.
- hitekker 5y agoThis is a beautiful landing page for what looks like a beautiful project. Nicely done!
- mrandish 5y agoNow if only MSFT would release a new OS that made a PC feel fast and useful! [/JOKE]
- gerdesj 5y agoI remember the first time I span up a Linux distro on a PC. The console felt so bloody quick in comparison with the Win98 that was shuffled out of the way to make room for something called ext2. I compiled my first kernel - 1.98something I think - with something called "eggs" (egcs - ooh controversial!) and the text flew up the screen smoothly and fast, really, really fast. This machine had DOS and W4WG 3.11 before that and prior to that I had a 80486 and before that a 80286 plus a '287 co pro with just DOS 3-5ish so I had a preconception on what streaming text consoles should look like. I'd also used some green or amber screens with something large and complicated behind them. That's what IT looks like to most people (something complicated) - don't forget that! My memory grows a little dim but I think it was a Pentium II box that I first slapped Linux on. 25 years later. I update my various Linux boxes in a minute or two at most. I update Windows boxes in a few hours at most - normally around 15 mins but several hours is not unknown.
- mvexel 5y agoUgh, this thread made me go down a rabbit hole and I ended up bidding on a C64C on eBay. (I had a C64 as a kid but sold it to be able to afford an Amiga 500. No regrets.) Amazed at how much of a market there still is! Now I need to figure out how to connect it to a modern display, but this same web site has a pretty cool buyer's guide for that kind of stuff.
- snvzz 5y agoLovely. I do have 2 C64 but, too bad, this isn't open source, so I won't be going anywhere near it.
- mvexel 5y agoCommodore DOS was never formally made open source either, was it?
- snvzz 5y agoAIUI it was not. But if you've got a C64, you've got a license for it. "C64 OS", you would have to buy separately. Whether it would make sense to invest time and effort into writing applications for is debatable. Personally, as a developer who enjoys working on vintage hardware, I'd rather put that effort into either making my software not require "C64 OS" or in writing a suitable, open source replacement to that system.