Jump to content
phuzaxeman

classic battle atari 8bit vs commodore 64

Recommended Posts

Yup, it seems correct that the TED machines have a character set of 128 characters and the inversed characters are generated by hardware, compared to the VIC-20 and C64 which have 256 characters including the inversed characters if you need them.

 

The C16 and Plus/4 run BASIC 3.5 with extra commands for graphics etc so yes it was updated but at the same time fewer resources to work with.

Edited by carlsson

Share this post


Link to post
Share on other sites

The changes that were in BASIC 3.5, also got ported to BASIC 7.0 (same person working on both BASICs, and the version #s are also just as deliberate)

 

-Thom

Share this post


Link to post
Share on other sites

I'm not convinced that the higher cost of rendering into characters offsets the tiny speed gain, outside some marginal scenarios. Like with everything, there's going to be an inevitable cycle threshold where it stops making sense.

- first byte of each scanline undergoes either 2 or 2+4=6 bitshifts

- remaining bytes (till the center of the line) undergo 6 bitshifts each (1 ORA plus 2 shifts per texel, except last one that is just ORA'd)

- this is the core strength of 6502 - each shift is just 2 cycles, and this is why the A register is accumulator, I literally accumulate a result of 10 different operations (without any temp storage), till I get the result to write to FrameBuffer

 

Now, I'm sure that at this moment, most of coders are panicking - "OMFG, you MUST preshift, shifting is slooooow".

Actually, I coded that alternative. It was slower. MUCH slower than accumulating in A register. If you think about it, it does make sense, for a 160x40 texture, out of 3,552 total onscreen pixels, there's 1,776 texels to compute (429 quads (the other 429 are mirrored)), so you burn only 429*6*2 = 5,148 cycles. Anything involving preshifting requires additional indices, which thrashes your current X,Y registers, which is done, obviously, 429 times.

Hence, the performance threshold for preshifting (to begin to hope to be faster) is 5,148 / 429 = 12 cycles. But that's per byte, e.g. 12/4 = 3 cycles per texel. Since even a simple temp storage to zero page is 3 cycles (and restoring it is another 3 cycles), it's thus impossible to be faster :)

My current last version of HiRes texturing is doing texture 128x40 (2,656 rendered pixels) at 48,082 cycles, which is slightly over 30 fps at 160x96. That's still without loop unrolling and self-modifying code that would make it even faster, but 30 fps is surely good enough for me. You still have 24,186 cycles for all other game logic, and game would still run at 20 fps. Not bad for 1.79 MHz :)

 

What I don't understand, however, is how come nobody did that 20-30 years ago ? W.T.F. ?!? It took me about 3 days to optimize it like this, which is - like a good, intense, coding weekend. Totally doable even while going to work/school/etc.

It's always cool to read your posts :)

So much info it's hard to read and understand at the same time during working hours ;)

 

What I wrote about charsets on c64 was just so you know that demos mostly use that type of "cheating" (with only changing row from predefined texture per line). No real texture mapping was ever practically used on c64 imho. Best was dithered textures in freescape games and couple more 3d simulators and such.

 

And you were right ! When I read "...6 bitshifts", I was like "OMFG!" :D

Soooo... Please, can you show examples of these textures and how they look in mem and final screen. Think it would be easier to understand your tech that way.

ps. What do you mean when you say "hires" and 128x40 for example ? Is hires Atari hires bitmap mode (320x192, 1 bit per pixel) ?

You said "texture 128x40 (2,656 rendered pixels)"... I have no idea how to relate those two numbers :)

  • Like 1

Share this post


Link to post
Share on other sites

Me just stumbled of that bitshift, too... as normally you might have bittable like

 

01000000,00010000,00000100,00000001....

 

( in MC)... so you index with xpos and get the value (table at least 160x).

 

VladR were you referring when saying charset the so called dirty char method?

 

http://codebase64.org/doku.php?id=base:lines

 

 

 

http://codebase64.org/doku.php?id=base:filling_the_vectors

Edited by Heaven/TQA

Share this post


Link to post
Share on other sites

I know the VIC-20 & C64 had 256 character sets. The Vic-20 also had double height characters and 4K font that was used to emulate a bitmap graphics mode. I know the TED based machines also had a color palette more like the Atari, but had no sprites and no SID chip. By the time the 16 and +4 were put out, many people either had a Commodore 64, Atari, Apple, TI-99, or IBM PC. I do not think those machines sold very well. The intention was to release another low cost machine like the VIC-20, and one chip that did it all. But it was a flop. Many in the United States called the "Plus/4" a "Minus/60" because it could not perform as well as the Commodore 64. As I said it many times, Commodore would had been better off if they taken the 64, sold it with 16K with blank sockets, or sold a cartridge with the "+4+" software to make it into a "+4" or include it on internal ROM chips. Did they also update the Basic?

People say how much of a failure the Plus/4 was, but Commodore mostly discontinued it to free up room for C64 production.

They sold quite a few for it being on the market such a short time in spite of the high initial price tag.

Yeah, there were leftovers for years, but you aren't going to sell a lot of discontinued computers, and the C64 had dropped in price..

 

Yup, it seems correct that the TED machines have a character set of 128 characters and the inversed characters are generated by hardware, compared to the VIC-20 and C64 which have 256 characters including the inversed characters if you need them.

 

The C16 and Plus/4 run BASIC 3.5 with extra commands for graphics etc so yes it was updated but at the same time fewer resources to work with.

Limiting the machine to 128 programmable characters seems like a pretty big mistake since they dropped sprites.

It wouldn't take much if any additional logic.

 

The BASIC's added features are nice, but the parser isn't very efficient, so it's pretty slow for the CPU speed.

  • Like 1

Share this post


Link to post
Share on other sites

I suppose it depends what the intention was with the computer. As mentioned here and elsewhere, the TED series started as a project to produce a "ZX killer", a computer so cheap that it would be able to outsell the Spectrum in the UK and elsewhere in Europe. Compared to the Speccy, e.g. the Commodore 116 doesn't seem to be underpowered. Also higher resolution than the previous VIC-20 so that is all and great. Quite obviously it never was meant as a strong contender to the existing C64, or for that matter any other system in direct competition like e.g. the Atari 600XL/800XL (which had just been launched by the time the TED had entered developer prototype status).

 

I also wonder what the market had looked like if they produced a C64 with half the memory and a cheaper rubber keyboard. When the MAX Machine and the C64 were introduced at Winter CES 1982, the suggested price of the MAX was $149.95 and the C64 at $595, which we all know lasted for about a year between July 1982 to July 1983 where Commodore slashed the price by 1/3.

 

Clive Sinclair ran his own price wars too, e.g. a 16K ZX Spectrum was down at £99 (about $150) in the summer of 1983. Now $49 or even $79 for the Commodore 116 seems like they aimed much below their intended competition. If Commodore had been able to sell a 32K version of the C64 with cheaper keyboard at $179 by mid-83, they still would have twice the memory, better graphics, sound, peripherals than Sinclair did have for $30 more. Of course if the full C64 was $395, quite some customers may have opted for the cheaper model which could run a fair number of the programs.

 

Exactly where this puts e.g. the Atari 600XL launched in June 1983 at $199, I'm not sure. Atari of course could've claimed a full keyboard was worth more than 16K RAM, plus all the other benefits the Atari 8-bit possibly have over the C64, but it would've been an interesting pitch. If the "Commodore 32" had been sold at $149, the price difference had been even harder to explain unless of course Atari had the margins to push the 600XL down by another $50.

Edited by carlsson

Share this post


Link to post
Share on other sites

oh god, NOT THIS AGAIN! :)

 

I love and use and write code for both systems.

 

Peace.

 

-Thom

 

Yea this debate is pointless.

 

Atari 8-bit was better in 82-83

Commodore 64 was better 84-85

Atari ST was thes best for only '86

Amiga was the best from '87 until PCs with VGA became the norm

Edited by thetick1
  • Like 1

Share this post


Link to post
Share on other sites

I always said one big mistake with all these different models of computers was that there was not a standard and made it difficult to make software for them. Outside the IBM PC, no one made their video display technology backward compatible with earlier technology, or made something with enhancements that could support earlier modes. I know Atari went from CTIA to GTIA, but did no go to Super GTIA, and rewrote the OS going from 400/800 to XL/XE. Programs written for earlier Atari 8-bit modleds could either run directly on newer XL/XE, need the translator disk, or the publisher just release the updated version. Commodore was notorious for having many computer models with different video display technology making it hard to run a Commodore program more than one computer model.

 

I know Commodore and Atari got away from this with Amiga and ST, But I did understand that some stuff was still not 100% backward compatible with the last models running stuff mode for the first models.

 

Like I said with the Commodore 64, they should had stuck with it as their standard until they got the Amiga. The Commodore 128, was the 8-bit machine that could still run Commodore 64 software. Could Commodore enhance the VIC-II chip further? 80 column support, TED color palette, or a VIC-I mode?

 

Atari was intending to make a CGIA chip that combined Antic/GTIA in one chip, save costs. But appears it did not have anything new or extra. But was intended to make the XL line cheaper to produce and sell. Maybe at the same price range as the Commodore 64.

Share this post


Link to post
Share on other sites

You are forgetting the MSX, which was exactly that - take an off the shelf chipset consisting of the good old Z80, the TI VDP and the GI AY, add a ROM, cartridge connector and keyboard layout. Let every manufacturer put their own design touch and perhaps add one or two minor technical improvements, but basically ensure they're all compatible. Worked well in Japan, worked to some extent in Europe, didn't fly at all in America.

I don't believe in accumulative improvements. Backwards compatibility yes, but only new models when you either have something that will outshine your competitors or they just trumped your offering. I believe an improved C64 by late 1984 or early 1985 would have been devastating to the sales as well as 3rd party manufacturers, not sure which systems to support or possibly make software that autodetects capacity. In particular as it is said 1984 was the year the 16-bit movement took off, perhaps the C128 or 130XE never were needed at all and the respective companies should've spent more resources on making really affordable 16-bits to start with. Atari succeeded in that earlier on with the ST line, though it wasn't no-brainer cheap to begin with.

  • Like 1

Share this post


Link to post
Share on other sites

It's always cool to read your posts :)

So much info it's hard to read and understand at the same time during working hours ;)

 

What I wrote about charsets on c64 was just so you know that demos mostly use that type of "cheating" (with only changing row from predefined texture per line). No real texture mapping was ever practically used on c64 imho. Best was dithered textures in freescape games and couple more 3d simulators and such.

 

And you were right ! When I read "...6 bitshifts", I was like "OMFG!" :D

Soooo... Please, can you show examples of these textures and how they look in mem and final screen. Think it would be easier to understand your tech that way.

ps. What do you mean when you say "hires" and 128x40 for example ? Is hires Atari hires bitmap mode (320x192, 1 bit per pixel) ?

You said "texture 128x40 (2,656 rendered pixels)"... I have no idea how to relate those two numbers :)

Glad you found the post informative, took me 2 hrs to write it up : -)

HiRes : by that I mean that each onscreen pixel is mapped to one texel, so there's no magnification going on - e.g. texture is as high res as technically possible in that resolution.

 

2,656 pixels - that's the number of texels that are sampled from the texture. It depends on the 3d perspective - the vanishing point. Is the last scanline in the distance just 2 pixels wide or full 160 ? It can be anything in between.

So, first scanline is 160 px, second is 156, third 152, and so on. All 40 scanlines added together give you the 2,656 texels sampled, which is what affects performance .

 

As for the memory layout of texture, for best performance, you want it uncompressed, nicely wasteful, where each color consumes full byte, instead of quarter byte. This is so that you can instantly shift it into desired position, without wasting performance on decompression.

As I said before, for most applications, you can keep textures packed, and only decompress them at level loading time. Racing games are fine with just one unique road texture per level anyway.

  • Like 3

Share this post


Link to post
Share on other sites

I know i'd pick the 800XL over the C64 every day as all round home computer lets look at some of piss poor features of C64

 

Bad and failing PSU

 

Terrible video out with jail-bars

 

Crap version of basic

 

1541 drive that cost almost as much as the C64 yet as slow cassette unit if not slower

 

Running hot SID AND VIC ll chips

 

Multiple revision of chips due to costing cutting = poor quality

 

Over priced games machine

 

The only advantage i see for the C64 there was more games

 

:-D

  • Like 3

Share this post


Link to post
Share on other sites

I know i'd pick the 800XL over the C64 every day as all round home computer lets look at some of piss poor features of C64

 

Bad and failing PSU

 

Terrible video out with jail-bars

 

Crap version of basic

 

1541 drive that cost almost as much as the C64 yet as slow cassette unit if not slower

 

Running hot SID AND VIC ll chips

 

Multiple revision of chips due to costing cutting = poor quality

 

Over priced games machine

 

The only advantage i see for the C64 there was more games

 

:-D

Interestingly, that matches very closely my own recollection from the time I (first) worked at a computer shop, selling them (actually selling ANYTHING you can imagine, from Apple, Commodore, Epson, HP, IBM, etc.)

 

Even my Hong-Kong Rev.C 800XLs (with ALPS keyboard and motherboard with red / integrated resistors on right-side ports), feels a lot better built than anything I handled from Commodore.

 

Now, the C64 next to the 800 feels like a kids toy, to be honest. Let's not even get there.

 

PS: one of the machines that could not find a commercial path on the U.S. but was, in my opinion, high up-there in design, performance and expandability was the BBC Micro... It was, as I remember it, the 1400XL of Britain... but in 1981-1982 !!! Graphics & sound aside, it had the architecture for running in circles around the C64, and even our Ataris, especially in some specific (but critical) respects...

Edited by Faicuai
  • Like 1

Share this post


Link to post
Share on other sites

Me just stumbled of that bitshift, too... as normally you might have bittable like

01000000,00010000,00000100,00000001....

( in MC)... so you index with xpos and get the value (table at least 160x).

VladR were you referring when saying charset the so called dirty char method?http://codebase64.org/doku.php?id=base:lineshttp://codebase64.org/doku.php?id=base:filling_the_vectors

I understand the point with preshifting, as I experimented with it a lot.

As I explained in an earlier post, for max performance, you want those two precious 6502 index registers (X,Y) used where they help most. Which is not shifting, as it's only about 10% of all cycles.

 

The shifting takes only about ~5,000 cycles out of ~ 50,000. So, even if the preshifted lookup was free, which it isn't, the whole thing would still take 45,000 cycles.

 

I believe this is my longest sequence of operations I ever did with an accumulator - usually you do up to 10, but here it's almost 20 or so. Finally giving 6502 a run for its money :)

 

 

As for that c64 site, I don't read it - I don't want to spoil my joy of reinventing the wheel :)

  • Like 2

Share this post


Link to post
Share on other sites

Glad you found the post informative, took me 2 hrs to write it up : -)

HiRes : by that I mean that each onscreen pixel is mapped to one texel, so there's no magnification going on - e.g. texture is as high res as technically possible in that resolution.

 

2,656 pixels - that's the number of texels that are sampled from the texture. It depends on the 3d perspective - the vanishing point. Is the last scanline in the distance just 2 pixels wide or full 160 ? It can be anything in between.

So, first scanline is 160 px, second is 156, third 152, and so on. All 40 scanlines added together give you the 2,656 texels sampled, which is what affects performance .

 

As for the memory layout of texture, for best performance, you want it uncompressed, nicely wasteful, where each color consumes full byte, instead of quarter byte. This is so that you can instantly shift it into desired position, without wasting performance on decompression.

As I said before, for most applications, you can keep textures packed, and only decompress them at level loading time. Racing games are fine with just one unique road texture per level anyway.

That's better ;)

Now I get what you meant with hires and those strange numbers of texels sampled from texture (I was right to assume it's something about applied-perspective shape of texture).

 

So how do you combine pixels from such texture ?

shifting texture in place looks wrong to me ?

asl texture1
rol
asl texture2
rol
..
.

How do you avoid that texture screw-up if not with lda ? And if you do lda - you just f'ed up acc ?

 

If it's not top secret please just copy-paste your inner loop. Or if it's a secret send me a pm. Or just leave me hanging, dying from curiosity ;)

 

ps. I love your detailed posts :)

Share this post


Link to post
Share on other sites

 

The only advantage i see for the C64 there was more games

 

Yeah, just that tiny, uninmportant little detail.

 

I really like these threads...they do yield some comedy gold occasionally :)

  • Like 4

Share this post


Link to post
Share on other sites

more games never equaled out to more fun... all it did was make me more and more pissed at having bought a c64 and then getting mostly craptastic games... Game play was what mattered... and still does... I only ever dust off the c64 when excitedly hearing of the finally end all be all game/whatever is here! Finally I can justify owning one! Then I wind up needing to do a comparison - mostly when someone says a commodore64 is better than this that farce... I almost always end up finding the claims in both instances false and in disgust... box it back up and away it goes..

Edited by _The Doctor__
  • Like 3

Share this post


Link to post
Share on other sites

 

Yeah, just that tiny, uninmportant little detail.

 

I really like these threads...they do yield some comedy gold occasionally :)

 

It seems you missed the point:

 

NO ONE here will restrain you (in any form or shape) to go back to your kiddie C64 computer (if you own one). You are absolutely free to do so, and that is PRECISELY why you have so many games for it. I am SURE that, among the large heap of kiddie stuff, you may find something worth of your or anyone else's time, for this matter. For the rest, I would wholeheartedly agree that you will find plenty of your comedy-gold material, there.

Edited by Faicuai
  • Like 1

Share this post


Link to post
Share on other sites

 

Multiple revision of chips due to costing cutting = poor quality

 

 

:-D

 

They improved over time though and eventually came with a proper aluminium shielding which also helped address some of the original heat related issues. Video output also improved significantly in the later revisions, compare the video output quality of an original c64 and one with the short board.

 

Apple did the same, compare the number of chips in the earlier Apple 2e and Platinum board. They even went from dual wipe sockets to single wipe = poor quality.

Share this post


Link to post
Share on other sites

Sorry if I turn the fire on with this ;)

 

more games never equaled out to more fun... ... getting mostly craptastic games... Game play was what mattered... ... Then I wind up needing to do a comparison - mostly when someone says a commodore64 is better than this that farce... I almost always end up finding the claims in both instances false and in disgust...

... your kiddie C64 computer (if you own one). You are absolutely free to do so, and that is PRECISELY why you have so many games for it. I am SURE that, among the large heap of kiddie stuff, you may find something worth of your or anyone else's time, for this matter. For the rest, I would wholeheartedly agree that you will find plenty of your comedy-gold material, there.

To be honest I really don't understand such claims (if they are serious)...

"Kidie, craptastic, no gameplay, farce, disgust, comedy-gold" - are these really attributes you think of when looking at c64 games library ?

Sure there are thousands of such games, but can't we agree that there are at least hundreds more of excellent, some c64 exclusive games ? Stuff we never seen on our Ataris ?

I love that Space harrier exists and is better than anything on c64, Rescue on fractalus etc... Looking at what I played as kid your messages just sound like coming from someone who didn't really play on c64...

 

Are we talking about the same computer ?
  • Like 3

Share this post


Link to post
Share on other sites

...

I also wonder what the market had looked like if they produced a C64 with half the memory and a cheaper rubber keyboard. When the MAX Machine and the C64 were introduced at Winter CES 1982, the suggested price of the MAX was $149.95 and the C64 at $595, which we all know lasted for about a year between July 1982 to July 1983 where Commodore slashed the price by 1/3.

...

The machine would have been more expensive to produce than the 116 due to the larger number of chips involved.

You are also trading one compatibility issue for another. Yeah, developers could adapt their software easy enough, but they wouldn't have been happy about it.

Many might have just said upgrade your RAM if you want to run our game.

 

To make it work, I think they would have had to upgrade the C64.

Improve VIC-II color support to what they put on the TED, add a high speed CPU mode, add the new BASIC, and intro that machine for the same price as the old C64, while discounting the old VIC-II 32K C64 for a period of time until it was discontinued.

People that wanted a new C64 get one, and people that want a cheaper C64 get one.

Once they discontinue the old C64 completely, they could drop the price of the newer version, and add a 128K version on the high end, probably around 1985.

Share this post


Link to post
Share on other sites

 

Sorry if I turn the fire on with this ;)

 

To be honest I really don't understand such claims (if they are serious)...

 

"Kidie, craptastic, no gameplay, farce, disgust, comedy-gold" - are these really attributes you think of when looking at c64 games library ?

Sure there are thousands of such games, but can't we agree that there are at least hundreds more of excellent, some c64 exclusive games ? Stuff we never seen on our Ataris ?

 

I love that Space harrier exists and is better than anything on c64, Rescue on fractalus etc... Looking at what I played as kid your messages just sound like coming from someone who didn't really play on c64...

 

Are we talking about the same computer ?

 

Yes we are, and the handful of 64 fans I knew at the time were always saying how they wished they could have such and such graphix with such and such game play...

Most of the users only truly enjoyed 14 so games at that time, and complained of how hard it was to sort through all the crap. My solution became simple, we messed with the Atari when gathering together. Certain things looked pretty nice on the c64 but as a group and for lasting enjoyment.. it was the XL/XE all the way.

It didn't prevent me from providing a space for C64 stuff, but like I said. It usually sat alone or ended up back in it's box... trucked out every once and a while when something came along making it worth it to set up for a bit.

 

While I certainly did not make all the comments you listed, I can see where most of them come from.

Edited by _The Doctor__

Share this post


Link to post
Share on other sites

 

Sorry if I turn the fire on with this ;)

 

To be honest I really don't understand such claims (if they are serious)...

 

"Kidie, craptastic, no gameplay, farce, disgust, comedy-gold" - are these really attributes you think of when looking at c64 games library ?

Sure there are thousands of such games, but can't we agree that there are at least hundreds more of excellent, some c64 exclusive games ? Stuff we never seen on our Ataris ?

 

I love that Space harrier exists and is better than anything on c64, Rescue on fractalus etc... Looking at what I played as kid your messages just sound like coming from someone who didn't really play on c64...

 

Are we talking about the same computer ?

 

 

No problem! (I actually don't smell any fire, anywhere).

 

It is not about fictitious adjectives or superlatives. It's just about touting a larger game-library as something that we (terribly) forgot and then being "laughed at" for such "omission"... Which, by the way, you LIKED on the originating post ("comedy") as it rests on the Likes-tracker... but somehow you did not like it on the rebuttal (?)

 

Subjectively, it sounds to me like a double-moral standard, but I do understand that some folks out-there get overly emotionally on this subject...

Share this post


Link to post
Share on other sites

Thanks for a precise answer!

 

Most of the users only truly enjoyed 14 so games at that time, and complained of how hard it was to sort through all the crap. My solution became simple, we messed with the Atari when gathering together. Certain things looked pretty nice on the c64 but as a group and for lasting enjoyment.. it was the XL/XE all the way.

Are you saying there were only like a dozen enjoyable games available for c64 at that time (when you were gathering around computers to play games) ? Sounds to me it was early years of c64 ?

 

I remember being with bunch of friends and enjoying immensely playing Pirates, Defender of the Crown, Iron lord, Moonfall, Mercenery, Zack & Maniac mansion....

3d Pinball power was ultimate pinball for tournament like play before Amiga came with pinball series.

Microprose soccer was best footy ever before Sensible soccer and Kick of appeared.

Laser squad, Lord of chaos, Dimplomacy was best played with 4-5 friends each taking a single character in game or country...

Not to mention IK, Barbarian, Bmx simulator, all different summer/winter games and such. Street sports basketball, Double dragon 2...
Ikari warriors was best thing after commando, and playing it till the end with best friend without cheats is still one of the best feeling ever :)

 

If you guys are saying you did play these games I've listed and didn't like them, enjoyed etc. - I'll understand and respect your opinion and keep doing my own thing.
If you didn't and could find time to test even some of them, please do. Imho they're worth it.


@Faicuai: " Which, by the way, you LIKED on the originating post ("comedy") as it rests on the Likes-tracker... but somehow you did not like it on the rebuttal (?)

Subjectively, it sounds to me like a double-moral standard, but I do understand that some folks out-there get overly emotionally on this subject.."

Sorry, no double standard intended, I've just missed the reference to original post. I thought you were calling some c64 games "comedy-gold" (which some of them sure are) :)

Share this post


Link to post
Share on other sites

being an early adopter, or perhaps a before it hit's the market individual, Amiga and ST were probably on my desk before too long.. ;) but the Atari XL/XE stayed up

Edited by _The Doctor__
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...