Live data from Hacker News

C64 OS: make a Commodore 64 feel fast and useful

c64os.com

41–50 of 112 posts

Re: C64 OS: make a Commodore 64 feel fast and useful

#41
post #38

I 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

Uh... watching 4k video, for example?

You 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.

Re: C64 OS: make a Commodore 64 feel fast and useful

#42

Earlier quoted context omitted.

Luddite is someone who is opposed to new technology, which doesn't apply here as the sentiment isn't about being opposed to the new tech but about the new tech not being taken advantage of. The software we build today is "vastly" more powerful in the sense that, strictly speaking, you can do more stuff, but it is way less powerful - and often broken - than what it could be, considering what you can see being possible…

This is because people don’t want to pay the cost of software carefully developed to take maximum advantage of modern hardware. In specific niches like audio production where this is desired then prices run into hundreds of dollars for a single plugin to cover the development costs.

And even then, quite a lot of that audio production software is very, very inefficient, primarily due to poor GUI development. There are a few popular choices of software that are very well-known for being CPU hogs, even relative to more complex software.

Re: C64 OS: make a Commodore 64 feel fast and useful

#43
post #19

Earlier quoted context omitted.

You 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.

It 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 interestin…

The 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).

Re: C64 OS: make a Commodore 64 feel fast and useful

#44
post #37
post #6

Past related threads: Shared Libraries for C64 OS - 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 - June 2019 (17 comments) C64 OS: A Commodore 64 OS with Modern Concepts - https://news.ycombinator.com/item?id=17997911 - Sept 2018 (42 comments)

dang, I see you do this on a regular basis. Is it automated or are you doing this manual?

Kind of in-between. Here's a pointer to past explanations: https://news.ycombinator.com/item?id=29370676

Re: C64 OS: make a Commodore 64 feel fast and useful

#45

I 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

An expansion card is recommended for this OS, so there are hundreds of kilobytes or even several megabytes, not "mere kilobytes".

Re: C64 OS: make a Commodore 64 feel fast and useful

#46

Earlier quoted context omitted.

The Luddite sentiment common among programmers today really surprises me. The software we’re building today is vastly more powerful and capable than anything from the C64 era.

I don't think it's "Luddite sentiment" to ask why one computer feels as productive with the same perceived performance as one that's literally a billion times faster. I believe the sibling saying that it's programmer productivity is correct. That same programmer can and does now spend a week whipping together a program in Python that took a year under the older constraints. And users expect more out of them, with whi…

It’s Luddite in that it rejects modern tools and methods in the belief that there’s an older, more artisanal method of doing work.

If you believe this is the case then you can put your belief to the test. Build software the way you think it should be built and see if users are willing to pay for it.

Re: C64 OS: make a Commodore 64 feel fast and useful

#47
post #38

Earlier quoted context omitted.

Uh... watching 4k video, for example?

You 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.

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 (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.

Re: C64 OS: make a Commodore 64 feel fast and useful

#48

I 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

The Luddite sentiment common among programmers today really surprises me. The software we’re building today is vastly more powerful and capable than anything from the C64 era.

[deleted]

Re: C64 OS: make a Commodore 64 feel fast and useful

#49

Earlier quoted context omitted.

You 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.

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 (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" wit…

> 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.

Re: C64 OS: make a Commodore 64 feel fast and useful

#50

I 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

An expansion card is recommended for this OS, so there are hundreds of kilobytes or even several megabytes, not "mere kilobytes".

Even then, I think the point would still hold.
Post reply on HN