| |
Martin Piper
Registered: Nov 2007 Posts: 636 |
A Simple Commodore 64 Game in C++17
CppCon 2016: Jason Turner Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17
https://www.youtube.com/watch?v=zBkNBP00wJE
Rather interesting to watch the compiler in action from: https://youtu.be/zBkNBP00wJE?t=747 |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11127 |
1:20h of stating the obvious ;_; |
| |
Mr. SID
Registered: Jan 2003 Posts: 421 |
Yes, we all know that C++ can be used as a glorified macro language. :)
Still doesn't really help though, it doesn't really make anything easier. |
| |
MagerValp
Registered: Dec 2001 Posts: 1056 |
I thought it was a thoroughly enjoyable demo of zero cost abstractions. The point was obviously not that you should use C++ to write C64 code. |
| |
Mr. SID
Registered: Jan 2003 Posts: 421 |
Exactly. The C64 part didn't really add anything. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
I think one of the questions from the audience had the most relevance: "how do you ensure the optimizations and abstractions stay at zero overhead when the compiler, optimizer and transpiler evolves". You don't which is, for the target platform, critical in this case. Hence, interesting techniques but really not worth it imo. |
| |
Danzig
Registered: Jun 2002 Posts: 429 |
Quote: I think one of the questions from the audience had the most relevance: "how do you ensure the optimizations and abstractions stay at zero overhead when the compiler, optimizer and transpiler evolves". You don't which is, for the target platform, critical in this case. Hence, interesting techniques but really not worth it imo.
but in real life: this is how treu love was done :-D |
| |
MagerValp
Registered: Dec 2001 Posts: 1056 |
@Mr. SID: It added hard limitations and a fun demo. C64 light saber pong is a lot more interesting than some modern 8-bit microcontroller board.
@JackAsser: That was indeed the best question, pity he didn't answer it. One forgotten const or changed optimization and your code explodes. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1380 |
The use of 32bit x86 as an IR was an interesting decision. I wonder if there are any 16 bit llvm targets that would have been a better fit? Admittedly the x86 code generator's probably the most mature at this stage. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11127 |
both gcc and llvm backend are targetted at 32bit CPUs.... and all the hacks that try to generate 16 or even 8bit code are really ugly, and result in really ugly code - thats why probably :) |
| |
MagerValp
Registered: Dec 2001 Posts: 1056 |
ARM support is also mature and battle tested, and I would've thought that thumb would be better suited as IR on the way to 6502. Still, for the purpose of the talk i386 worked just as well. |
... 6 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |