jmp(FFFA) wrote:
Oneironaut wrote:
1) Forget C, but lose the ability to code great games in a few hours.
Please tell me why you seem to believe that C is the only suitable high level programming language for coding games on the Vulcan74?
Let me expand on that comment.
I believe that given adequate time, I could ALWAYS do a faster and smaller routine in Assembly than anyone could do in C, regardless of their C expertise.
Having taken up this challenge several times on PIC and AVR, I understand that even a commercial C compiler has no chance. Most times, it's barely a challenge!
Now having said that, I also believe that even a half-assed C programmer like myself could code a great game on the Vulcan-74 platform in a few hours, and that no assembly programmer, no matter how well versed could do the same.
I know this will sound crazy, but I could care less about how efficient the generated C code is. Vulcan has so much power that even with the 6502 clocked at 500KHz (yes Kilohertz), my system would run circles around an Amiga. A few instructions will scroll a 1024x1024 bitmap around the screen! Hell, even a interpreted Basic would make this thing fly! I have actually considered making the Kernal a Basic interpereter, and this option is not off the table yet.
I have seen so many amazing hardware projects drop straight into oblivion die to the fact that they were just too difficult to program, and the authors underestimated how important a large codebase would be to making it a success. The most popular language HAS to be supported, and the toolchain MUST be easy to use. I never intending this project to be a "look what I can do" project, but instead something that anyone with ZERO knowledge could build and learn from. Including a 2500 line assembly program as an intro does not make it easy at all, nor does requiring the builder to learn to tweak a toolchain for a language that should make things "easy". I will not even launch the new website until the Vulcan-74 example codebase is loaded with games and demos as this is just as important as proper schematics and a deep explanation on what every single IC is doing on the board. If it takes years, then that's how long it takes!
I guess I should have set some rules for the toolchain just as I did for the hardware....
1) Toolchain must install in one click on a modern PC, ready for coding Vulcan-74 games and demos with ZERO setup.
2) The language MUST be the most widely used. This is why I chose C. Oddballs like Forth... not going to happen here!
3) From code to Cartridge must also be a single click without requiring ancient hardware like serial ports and ROM burners.
4) All Vulcan functions to be optimized assembly and fully transparent to the user. ZERO setup required.
5) The entire Toolchain will have no options, as they will not be necessary. Just code, compile, burn.
6) Changes made to a program MUST appear on the Vulcan monitor within 15 seconds after pressing compile & burn.
7) For those like me who prefer pure assembly, the workflow will also be single click, code-and-see in 15 seconds.
I understand the CC65 is not any of these things out of the box, as it is a VERY configurable toolchain for many platforms.
At this point, I still (sort of) believe that I can make it into all of these things though. Stripped down, and made invisible to the user.
Besides a credit to the author in my Toolkit Software, users should not even be aware of CC65, as my Toolkit will do the dirty work "under the hood".
So to get make to your original comment...
I don't think C is the only Language for Vulcan-74, but it is the only language that a newb would be able to use and bang out a decent game in 4 hours with!
Radical Brad