I assumed 4510 was 65816 compatible, which instruction set I haven't studied either but I think it has 16 bit registers and memory access.
I was hoping how many algorithms from codebase64.org would benefit from keeping the same syntax while using 16 bit integers. From multiplication and Bresenham to binary trigonometry.
I expected C65 was a comfortable way to move c64 coding to a more advanced machine with the same flair.
Now if understand correctly is the C65 8-bit stuck yet has more memory and resolution ? If that is the case programming will be a pain in the ass.
I mean this machine seems tailored for people who used to like doing their own programming -
and for collectors - as it will never have commercial third party support.
Yes the accelerator capabilities make it a good replacement for Turbo Chameleon or VICE warp mode - but then who wants the advanced graphic capabilities.
I mean no one is developing software for these - people is just taking advantage of the acceleration for existing software but unusable slow -.
The NES- SuperNES evolution seems the way to go for me - you improve capabilities and improve programming -.
Forgive me if I'm making mistaken assumptions here.
Warning! Strictly "IMHO" kind of reply without any flame war intended: Sorry, but I often see the opposite. Ie C64 coders wants SuperCPU (equipped with 65816) just for a "faster 6502" (minus the illegal opcodes though), and not so much using the other inventions of 65816, only the speed. And especially because C64 and C65 were 8 bit designs, I can't see why to move to 65816, where no Commodore machine was released with that CPU for real. Yes, it would be NES whatever, not so much a CBM-like machine then (so then it can be a Mega-NES project, but not a C65-Mega65 project). It's an interesting question, since if you feel that "easy programming" is the main factor, you can even find some more modern 32 bit CPU to do then, with FPU built-in, linear addressing of Gbytes of memory, multiple CPU codes, whatever. But I'm sorry, nothing offensive attitude from me here, just I can't see your point. Mega65 after all is an "greatly enhanced" C65, by definition, what do you expect exactly then? But to be fair, Mega65 has already great capabilities to break the barriers of a typical 65xx 8 bit design, like the ability to address the whole memory space with a specialized addressing mode. Also, already the 4510 in the C65 had some 16 bit math support, can be kind of useful (like INW, DEW opcodes). I could even demonstrated, that on Mega65 it's possible to software emulate an intel 8080 CPU kinda well, and running CP/M applications, which exploits the features discussed above (without this it would be ten fold slower, or even more ...). And maybe more comes with helps even math integer unit, etc. And who knows, as far as I know, since it's planned to have multiple "CPU personalities" maybe 65816 opcodes can be accessed anyway for a software requesting it. But since the major point of Mega65 (starting with the case design already!!!) is being a "mega"-"C65", and C65 is a kinda well defined machine, just replacing everything without a totally different specification would undermine the whole project, by its very roots and basic goals.
The lack of 16 bit instructions isn't a big deal in many applications. I like the 65816, but you can't just drop it in "under the hood" and have 16 magic. In greenfield code you can utilize its features, but mixed with legacy code and systems you'll be changing modes more often than it is worth. Most of the code you mention would need to be significantly modified if you wanted to take advantage of the 65816's enhancements.
Sweet 16 was a vintage example of where if you need 16 bit instructions you can synthesize them on the 6502. Uzebox is a modern example of some feeling 8 bits is enough for gaming.
The Mega 65 is exactly what it claims to be--the realization of Commodore's unfinished 8 bit succesor. It blazes when you compare it to the Spectrum Next that is in development with a selectable 3.5 or 7 MHz Z80 core. And as much as I love the 6502, the 6809 would be a tempting direction to move to 16 bits.
The M65's CPU remains 8-bit, but makes it much easier to work with >64KB RAM, which is really the main benefit of the 65816 as well, which gave 16MB address space. With the 45GS02, you have 32-bit memory space via special ZP indirect addressing. I fully concede that the decision is a rather arbitrary one at some levels, as to what to add, and what not to add. However, there are architectural factors at play as well, such as the 4510 had no spare opcodes to make it easy to switch modes to 16-bit mode as for 65816.
LGB: yes your comments were polite but:
1) regarding NES, my point was to remark that the 65816 was successful and the 4502 wasn't.
2) I can get your point of some people just wanting a fast C64 - not me.
1) yes I was talking about coding new apps - C65-specific.
2) The code I mention, the assembly snippets from codebase, would read the same. For instance, Bresenham listing would go unmodified, yet coordinates would go past 256.
1) Thanks for answering. I'm just expressing my fears. I hope I made my point as a hobbyist.
Summarizing, as a C128 guy, I can agree forgetting it and finding a proper C64 replacement is a good idea, and this was the idea behind C65 , it's just that the C65 guts weren't it. IMO they were a mix of obsoletes, like early-80s bitplanes graphics. But then again I maybe wrong.
Anyway, the case and the drive are nice, and I hope you are successful.
If you finish this project (please please do..) and it would be successful, then I guess it could be only for one reason - 99% of people would buy it to play C64 games.
Possibly there really exist the 1% who is interested in C65,
I don't understand why, I have never heard about it before discovered Mega65, I am unable to find any list of games made for it and according to Wiki only 50-2000 pieces were sold.
Do you expect anybody would waste time and write new (& better) games for C65 ?
Why ? Spend months making games anybody can copy for free ?
I also have doubts you will ever be entitled to sell your clone of C65.
I guess there is still somebody who owns rights for all Commodore stuff, despite the company doesn't exist any more.
If you think there are not any legal issues threatening, then I would ask you to consider following ideas:
- the fact you are trying to make the Mega65 physically the same as C65 must make it very expensive; if your version supports SD cards, then there is no reason to use 1.44 Flopp-drive;
also no reason to copy the C65 keyboard
- why not to make the PCB as small as possible (cheap), omit Floppy-drive, design simple little enclosure, use PS/2 or USB keyboard, add some wireless transceiver to enable design of wireless joysticks = thats enough for the 99%...
- I guess FPGA soft-processors like MicroBlaze or Nios are much more powerful than the processor used in C65. There also exist compilers for them and many people use them. Couldn't the video & sound circuits you cloned be powered with this kind of processor ?
I personally program 8b microcontrollers but if I could choose, definitely would prefere assembler programming with comfort of 32b architectures.
Anyway, I wish you great success with Mega65 and hope it will be ready soon and for reasonable price - otherwise, you know, emulators do the same job for free and work ok in many cases..
I'm one of the 1% mentioned.
Really I want to work with C65 clone and it needs really not physical copy for retro feel.
It needs only to get it work.
When I saw latest posts on Paul's blog I see it goes far away from the goal - make C65...
Phone, even C64 mode has more functionality than C65 mode - again may people want C64 in Commodore 65 - C64 is not only one and even not best Commodore computer.
Also - these reasons created my decision - I sold Nexys4DDR (used was only for M65, Apple IIe and Sam Coupe) and like you told - emulators does the same. BTW. I have Sam Coupe and Apple II+ (saly not IIe) in MiST.
M65 projectgeos wrong way - far away from its goal.
Also this reason was at discontinuing M65 support of my The Ace OS.
Now I can develop it faster 'cause targets are only two - C128 and C64.
Many men will crucify me for these words, but everypbody can have own opinion and I have too. Written above.
I hope noone crucifies you for your words, and I certainly wont.
The whole point of the retro scene is that it should be fun for people with their volunteer projects. If it stops being fun, then don't feel any obligation to continue. It also makes sense for you to focus on fewer platforms, as scope-creep is always the enemy of us all getting things finished.
It is important to note for the phone concept, which is really much more hand held console that happens to also be a phone if you want it to be, is a side project where we make good use of student projects, without complicating the critical path to the desktop computer. The desktop computer remains our main priority.
You are quite right that there are other ways to tackle the retro experience. What you have described is more or less what the C64 Mini has done: Use a cheap, fast 32-bit modern processor, and emulate everything. I won't hide that that is cheaper than our approach, but we really want to recreate the complete computer experience. As I mentioned to Miro, everyone has their own tastes and choices, and doesn't have to think any particular project is completely right, but hopefully it doesn't stop us all enjoying hearing about all the projects going on in this space. For example, I have no interest in buying a C64 Mini, but I like to hear how people are using them in nice ways.
I, for one will be buying it.
Perhaps it doesn't make logical sense, but then I don't think it needs to. It's an achievement, and scratches a retro itch.
People are still writing games for the C64. It will be interesting to see what is written for the C65.
A 65 gamejam here and there might be something....
@ Chicopy C65 is never "sold", well, at least not the way, like C64, etc ... As project C65 was never finished, all the existing units are "developer units" which actually a bit different software and hardware inside for almost all of them ... So not even a common C65 "standard" for real existing C65 units. Creating a C65 clone (albeit a further enhanced, thus M65) is actually to grant a wish to have a "ready" C65 which was not even the case in reality. So partly, these are for people who are interested in these kind of dreams. So it's hard to compare, how many software written for that, etc, you wrote ... Of course almost none, it's a never finished project. That it's all about to think this way, to have it finished _now_ inside the M65 project. Surely, it's for people more interested these kind of things/dreams, it's not for everybody! OK, actually, there are many other factors here as well ... Like the added value over the C65-level, the possibility to create a computer which can be used even to learn more on computers etc etc. You can argue the point of many other projects as well, like C=1 and C256 Foenix, especially the second, where they create a "Commodore-like" computer not even aimed to be compatible with any existing and/or planned Commodore machines (M65 "at least" wants to be compatible with some finished C65 state and even gaining more C64 compatibility)! But again, there are different people, some of them are interested in these as well, including me too. Some people say, that's insane. Surely, even my wife says, that real C64s etc are mad to be used now, since they are so "insane", even cannot be used for watching youtube videos, etc. That's true. The point of retro computing in general is over the "logic" and much more a "personal love" ... Any existing kinda modern PC will be much powerful than any Commodore machines ... That's a much more emotional topic than just this.
@Miro: "C64 is not only one and even not best Commodore computer.". The first statement is true, the second is ... hmm pointless. How do you measure being "the best"? So, any Commodore machines nowadays are "lame" since cannot be used for the same as a modern PC. Again, "the best" is more a personal taste and _love_ and not so much a logical benchmark/specification/anything to check out ... At least nowadays. Surely, back in time, in that era, it made sense to say which is the better technically, which one to choose, and so on. At least more sense than now. Let's face it, for many people, the love towards "old computers" is more like a personal "intimate" thing. For me: my first computer for C64. So C64 has its place in my heart, regardless of any other statements about its "hype" or "capabilities" or anything. And it does not mean I don't like other "retro" computers than C64, for sure.
In general: even with some attraction to "retro computing" it does mean other things for different people. First, emulators. I can't see any point buying/using a C64mini for example. It's an emulator. I can run an emulator on my PC too, for free, what's the point here. But I admit, some people is not interested in configuring software-distributed emulators, don't want to power on a PC for it etc etc, and wants a self contained device, for that purpose only, even if it's "only" an emulator. Nothing wrong about that. Some people like "more hardware level" stuff, and some of them can't even accept FPGAs saying "it's cheating, it's not the very same any more by its internals". I can't even imagine a scenario to have a project in this topic which suits everybody, you see .. But as far I can see, having a "real" (physical) machine, which is not an emulator, having open source VHDL for FPGA implementation (which makes possible even for others to port it to other FPGA boards if really desired ...), and even having a hopefully maturing emulator (well, that's my task ....) can create a situation where many different people can find their needs within the project. Again, maybe not, we are not the same, even then there can be other feelings, for sure.
Gábor I understand, what to write:
1. C64 is not only one Commodore computer - true but many people thinking - we don't want other.
2. C64 is in eyes of users the best - why? Even M65 project has in C64 mode again more functions and looks like same fate like my beloved C128. Of course it is personal feeling or love.
Me personally began with Didaktik M (ZX Spectrum Czechoslovak clone) and then came C64.
3. C64 Mini is what you say - emulator and this I want not (not for C64 exactly) - emulator stays emulator forever.
4. M65 project is not emulator and this I like, but now the way to finsih is harder for developing other variants.
What to say?
I'm watching Paul's blog since I found it on Google+ and it is lot of years.
I saw first steps.
Me personally cannot to say that he's slow 'cause my OS The Ace is developing much more time like M65... but for many reasons I have not enough time, sadly.
I hope that I will have more time, currently I can at developing to be around 2 days in week... sometimes 1 day and sometimes no one day in week... So, all people watching progress, please don't think that I will not come, please all wait still any time.
hank you for all.
Miro, since we had some talk otherwise too, I may see the problem of yours, and as always, it's kinda hard to say someone is right or wrong, it's not about that at all ...
The "problem" here, that M65 is focused on a dream-come-true (at least for some people, ok), ie a modern clone of a never-finished C65. Ok, since then, it got many other things, but its root is the same, still. And given by that, you can't just change the fact, that C65 at least had some low degree of C64 compatibility. You cannot force other machine here to be compatible with, it would be very different project than M65/C65. So what I wanted to say, I am not sure, what you would like then, since that is the roots and the origin of the project itself. Surely, being an FPGA based solution, you can at least write other "cores" to implement totally different hardware, but you can't just mix into the project directly for C65 and/or M65 "mode" as such easily. Or if you want to "cut off" C64 from M65 since "we don't want another" then it's just odd, since it's part of the original design as well, surely with quite limited compatibility, but still. It's like (ok, not really ...) cutting off C64 from C128, since VIC-II and SID is "so much C64" (and to be more precise, C128 has a much-much-much better C64 compatibility mode than C65 ever would be ...), let them kick off It would be a kind odd situation. I admit it was not the best (but about the worst ...) "resemblance", but anyway ...
The other problem, as far as I can say from hearing news, etc, many people wants M65 in the future because of "it can be used as a C64 too". Well, yes, you can hate this. But it's really shrinks the "target audience" of M65 if you leave any further work on C64 compatibility, even if we know, C64 compatibility may be not 100% ever, unlike using a C64-specialized core, as should be otherwise. Life is just that odd. And yeah, it seems here I contradicts myself, when I said that it's fine to even create something which is not compatible with anything at all (like C256 ...). Well, maybe there is no "white" and "black" in opinions either, just shades of grey.
About Ace: I'm not really understand the situation, but it can be my fault. If you ever wanted to develop it for "C65" it wouldn't change that M65 basically is that as it roots, or what did changed, what is the exact reason you call "wrong way for the project" then? It would be that to break several barriers of the C65-compatibility, since then it's nothing to do with the original goals. But yes, lack of time, that's a kinda logical answer, I know that too, maybe too well
Gábor, you maybe understand me not fully.
I said not to cutoff C64 mode. Truth is truth - it is feature of C65.
But focus development to C65 mode.
C256 - this is really perfect project. I'll send to you details later.
The Ace - I throw not written code for M(C)65 into scrap. I paused development this way until will be not clear what it will be. Currently it is very unclear and limited resources is main problem, even public builds are main problem.
I know that core is possible to build by online source. But really watch changes and build every core is not so small amount of time. Why Paul releases not more public builds? Even at beginning was promised registering in subscribe about new releases - nothing happened.
The main reason we haven't make a lot of public bitstream releases is mostly that it feels like we are always fixing some major problem, and there rarely feels like a right time to release a new version. We have no real problem in principle with doing so, however.
Miro, that's interesting. As far as I can see (but I can be wrong!!!!) development on C64 mode (ie further enhancing its C64 compatibility) within the M65 project does not get too much developer resources compared to C65/M65 level stuffs, at least I am not aware of this would be the case. So this is one reason I cannot understand what you mean about "wrong way for the project" when it didn't get too much attention anyway yet, just maybe some plans were talked/written about and such more, than actual work. So, I see exactly what you wrote: the focus is on non-C64 things more. Surely there was things, like implementing "NMOS illegal opcodes" in VIC-II I/O mode and such to enhance the compatibility but I really cannot see that it got so much attention and work from developers that it had negative impact on things for C65/M65 side, that is lack of enough developer resources there, because of the "too much" time spent on "C64 mode". But surely, I am not exactly the person you should accept this information from, that's true Indeed, C256 looks a nice project (and thanks, btw) but, its target audience is very limited, I worry a bit if this project dies eventually because of the "too new" thing created, has no connection with anything (ie, on some scene parties, there are DTV demos time to time, but DTV was somewhat popular at least because of its C64 compatibility at the first place and then only the extra features ...). But I wanted to be wrong here SO MUCH! It's nice to have something completely now, as well!!
On C64 compatibility we are actually spending a bit of time on this right now, so that the CPU/VIC timing is more accurate -- enough for most games to run without significant graphics display problems. I'll likely do a blog post about this soon.
Paul, thanks. Just I am a bit lost here, as others seem to consider working with the C64-compatibility the "wrong way" for the project. I think it's just faaar much more work on the non-C64 things in the M65 project than the C64-only "parts". But surely, I can be wrong. Of course, aiming the 100% C64 compatibility and no more care on anything other ... well ... that's of course would be a bit "wrong way" compared to the original goals of the project. But it's a hard question, as - it seems (even I read Hungarian blog posts on this) many people waiting for M65 that "it's cool", but "mainly I would use for C64 programs". Which is hmmm, kinda problematic again :-O
Long time I was waiting in development of The Ace for CPU switch for C64 mode from 65CE02 to 100% compatible 6502 - that posted Paul on blog and it was very high chance to apply C64 part of core directly without dramatic changes for C64 mode.
Really why I'm talking about C64 mode as wrong way:
- developers will benefit only from enhancements
- native C65 mode will fade (same as C128 and DTV)
This makes from chance to get new C65 mode software less possible.
Also - C256 project avoids it - new computer and really can be not successful 'cause C64 scene won't accept anything other. The same was with TED Series.
I hope that C128 community will support much more C256 than C64 community.
And when will be anything new and all will see benefits, it can allow to look more people forward. BTW - C256 has same processor like SCPU... so it's 65K family and in emulated mode it is x65 family (of course 65C02)... and more and more.
We can talk long time what is or not wrong, but it is opinion of each other.
I hope that M65 will be finished and I'm afraid about fate like C128 and DTV.
I hope that C256 will not have fate like TED Series and not afraid about fate like C128 and DTV and even maybe (please noooot) of M65.
To be clear: We are not aiming for 100% compatibility. We don't expect the majority of demos to run correctly, for example. However, it is important that at least the majority of games run well on it, since we know that this is a lot of how the machine will be used and judged.
Yes, there is a risk people will only ever use it as a nicer C64, and that is up to them. I don't worry about it too much.
The C128 mode problem is actually quite different: You couldn't use all the C128 features from C64 mode, so software ended up basically using just C64 mode, and perhaps 2MHz mode in the vertical blank period. The C65 approach is different: You can access all the extra stuff from C64 mode, so it is much easier to ease across to writing software that uses some nice extra feature, and then another etc.
“You can access all the extra stuff from C64 mode, so it is much easier to ease across to writing software that uses some nice extra feature, and then another etc.”
That was one of the reason (not the only one, I'm one of the C65 'dreamers') what sold me on this project!
It's howthe C128 should have been but wasn't.