Jump to content
Thomas Jentzsch

Legacy versus ARM-based 2600 Game Development

Recommended Posts

38 minutes ago, orange808 said:

Meh.  I'll gladly concede if you say it wasn't you or I'm mistaken.

 

Regardless, the $18 million dollar Cray thing is complete rubbish.  

 

Rather I'm mistaken or not, the Cray thing was a smear.  Nice touch with the dollar value as well.  :)

 

 

Did you catch the part where he said he has contributed to code supporting ARM hardware assistance in batari Basic? Wouldn't it be a little odd for him to make smears against the same now?  The Cray comparison is interesting and useful for perspective, but explaining how some modern Atari carts use modern technology isn't a smear. 

  • Like 5

Share this post


Link to post
Share on other sites

I'm just grumpy.

 

Didn't like the dollar figure and the mention of a supercomputer.  It's a loaded comparison.  Guess it just hits a nerve every time I stumble onto it. 

 

Intentional or not, it provides ammo to snipe stuff like Robotron and Galaga--and I'm absolutely humbled by new titles.  They are jaw dropping.

Share this post


Link to post
Share on other sites
2 hours ago, splendidnut said:

@orange808  What is with the attacks?

@splendidnut it looks like Orange808 was just called a weasel for expressing his opinion. I only saw a discussion prior to that, where were the attacks?

 

1 hour ago, orange808 said:

I'm just grumpy.

 

Didn't like the dollar figure and the mention of a supercomputer.  It's a loaded comparison.  Guess it just hits a nerve every time I stumble onto it. 

 

Intentional or not, it provides ammo to snipe stuff like Robotron and Galaga--and I'm absolutely humbled by new titles.  They are jaw dropping.

 

I made a comment comparing the ARM to the Cray-XMP, but I don't think that's a loaded comparison or that it should get you upset;  consider John's related comment to the effect  "It's much easier to code the gameloop in c on the ARM than coding to the 6502"  

 

These are excellent games but being modern 32-bit code they simply can't be compared to advanced 6502 releases like BoulderDash, Arkanoid and KCMM that push the old 8-bit hardware to new limits.

 

SillyVenture shares this perspective and doesn't allow any ARM games or demos to compete in their 8-bit programming contests.

 

There's an interesting discussion on the Chess thread with Batari and Andrew about ideas for writing newer ARM games and also an advanced 32-bit interpreted BASIC that could connect through the USB on the Harmony for full featured debugging with Edit-and-Continue functionality as has recently been created for the Vectrex.

 

The new code creations are fun to appreciate but it is also a lot of fun to work with the old hardware simply because it is more challenging.

 

When reviewers compare the 32-bit Atari games to 8-bit Atari games like with Super Cobra and Super Cobra Arcade they aren't intentionally sniping but it's disappointing because reviewers aren't programmers and simply cannot tell the difference; John made the comment on the VGC's forum to try to explain the difference but Super Cobra still got an F and Super Cobra Arcade an A; I would give both games an A, and they are both a lot of fun to play but cannot be compared; it's really apples to oranges comparing modern 32-bit c code to retro 6502 code.

 

Beyond one game being 32-bit and one 8-bit game there is also a considerable memory size difference; Whirly Bird Run was an impressive 16K clone of Super Cobra in the 80's but back then reviewers knew not to compare the 16K port to a 32K or 64K version running on the same processor. Even this is lost on many reviewers today.

 

  • Like 1

Share this post


Link to post
Share on other sites

@Mr SQL  I believe RevEng quoted the things he had issues with.  His reaction seems to give me the impression that he felt attacked.

 

Being as you called them discussions... Would you prefer that I use the word accusations?  Because there were a lot of them without facts or links to back them up.  Sorry if my word choice was not the best.  I was just trying to get to the root of the issue.  I would have corrected/elaborated on my post, but @Karl G beat me to it and handled things much better than I did. :)

 

@ All

 

Are Atari 2600 ARM games really 32-bit?  Being as most/all of them run in Stella and Stella only has Thumb emulation... and the Thumb instruction set is only 16-bit, right?

  • Like 2

Share this post


Link to post
Share on other sites
4 minutes ago, splendidnut said:

Are Atari 2600 ARM games really 32-bit?  Being as most/all of them run in Stella and Stella only has Thumb emulation... and the Thumb instruction set is only 16-bit, right?

Nope. The thumb instruction set is mostly(!) 16 bit (to save space), but the instructions are fully equivalent to the 32 bit instructions.

Share this post


Link to post
Share on other sites

Ah, ok.... that makes sense.  I once designed a CPU architecture like that (16-bit instructions with 8/16/32-bit registers) for a college project.

  • Like 1

Share this post


Link to post
Share on other sites
22 minutes ago, splendidnut said:

@Mr SQL  I believe RevEng quoted the things he had issues with.  His reaction seems to give me the impression that he felt attacked.

 

Being as you called them discussions... Would you prefer that I use the word accusations?  Because there were a lot of them without facts or links to back them up.  Sorry if my word choice was not the best.  I was just trying to get to the root of the issue.  I would have corrected/elaborated on my post, but @Karl G beat me to it and handled things much better than I did. :)

 

I follow what you are saying but I think it may be more a matter of perception.

 

On the thread I linked there was an observation of a "gazillion bytes" being made available to ARM games but that should not be taken out of context; in the 80's there was such a world of difference illustrated between 4K and 16K games and again between 16K and 32K and 32K and 64K games that different comparison categories were created just on the memory footprint alone. 

 

Share this post


Link to post
Share on other sites

@Mr SQL  While I do stand by my use of the word impression, I'll agree that perception also applies.  In general, people should keep in mind the impressions they are making and the perceptions they are generating when posting :)  I'll try to stop derailing now.

 

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, Thomas Jentzsch said:

Nope. The thumb instruction set is mostly(!) 16 bit (to save space), but the instructions are fully equivalent to the 32 bit instructions.

 

2 hours ago, splendidnut said:

Ah, ok.... that makes sense.  I once designed a CPU architecture like that (16-bit instructions with 8/16/32-bit registers) for a college project.

I’m a little confused here. Aren’t processors/co-processors defined by the width of their registers. So since the Atari 2600 has an 8-bit accumulator (and x/y registers) it is referred to as an 8-bit system. Even though the program counter is a 16-bit register.

https://en.m.wikipedia.org/wiki/Processor_register

 

If the ARMs computational registers are 32-bit, wouldn’t that make it a 32-bit co-processor, regardless of the width of the instruction set the processor uses?

 

PS (The Atari Jaguar used some strange math to try to claim they were a 64-bit System, and had an ad campaign around that 64-bits is more than Sony/Sega 32-bit offerings PSX/Saturn.)

 

Edited by CapitanClassic

Share this post


Link to post
Share on other sites

Yes, it is a 32-bit processor.

Share this post


Link to post
Share on other sites
On 6/20/2020 at 10:03 AM, CapitanClassic said:

 

I’m a little confused here. Aren’t processors/co-processors defined by the width of their registers. So since the Atari 2600 has an 8-bit accumulator (and x/y registers) it is referred to as an 8-bit system. Even though the program counter is a 16-bit register.

https://en.m.wikipedia.org/wiki/Processor_register

 

If the ARMs computational registers are 32-bit, wouldn’t that make it a 32-bit co-processor, regardless of the width of the instruction set the processor uses?

 

PS (The Atari Jaguar used some strange math to try to claim they were a 64-bit System, and had an ad campaign around that 64-bits is more than Sony/Sega 32-bit offerings PSX/Saturn.)

 

Yes, a processer's bit-width is generally determined by the size of the registers.  Instruction set width doesn't really matter... Ex:  eventhough an Intel 80386 still used 8-bit opcodes, it's a 32-bit processor (32-bit registers and 32-bit ALU).

 

Things can start to get a bit murky though.  Consider the Pentium MMX chip - for the most part, it's designed to execute 32-bit software... but also has a subset of instructions that access the MMX registers which are 64-bit.  You can argue whether it's a 32-bit or 64-bit processor depending on whether you consider MMX as part of the main CPU or as an add-on like the FPU that just happens to be built-in.

 

So, with that in mind, if a 64-bit processor is only ever used to run 32-bit programs, are you really gaining anything with a 64-bit processor vs. a 32-bit processor?  (assume same clock speed)....  I'd say you really aren't since the programs aren't taking advantage of the 64-bit registers.

 

I asked the question about the ARM's Thumb mode because it can make a difference with performance.  IF the Thumb instructions were only allowed to run 16-bit code (code that worked only on 16-bits at a time), I would argue that eventhough the ARM itself is 32-bit, if it's running ONLY in a 16-bit mode, we shouldn't keep saying 32-bit ARM vs 8-bit 6502 since it would really be 16-bit vs 8-bit code.

 

BUT as Thomas has answered, that is NOT the case since the ARM is running 32-bit code in Thumb mode.   So it is 32-bit ARM vs. 8-bit 6502.

 

 

 

Share this post


Link to post
Share on other sites

Yes, Thumb code works as normal 32 bit code, only with a few limitations (e.g. less registers) so that all instructions fit with into 16 bit.

 

So the power of 32 bit is there, but I am not sure how much an e.g. 32K game really profits from it. It obviously doesn't need any 32 bit addresses and probably not much 32 bit data. For such a game, I suppose effectively the ARM code is much closer to 16 bit than 32 bit code. This only changes with 64K (+RAM!) or larger games.

 

Maybe others have more details?

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