Jump to content

Photo

Open-source C++ project template now available

C++ Strong-ARM ARM UnoCart-2600

11 replies to this topic

#1 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • 755 posts
  • Location:Orlando, FL US

Posted Mon Jul 23, 2018 6:48 PM

For those of you who would like to write 2600 games in C++ there is now a project template you can use to get started.

 

The following are required to build and run:

The template produces a simple bin which draws some skulls and lets you move around P0 with the joystick. You can create games up to 448KB in size and use as much of the 192KB of RAM as you'd like.

 

Currently there is no support for this file format in any emulators. You must test on actual hardware with the UnoCart-2600.

 



#2 Mr SQL OFFLINE  

Mr SQL

    River Patroller

  • 2,018 posts

Posted Tue Jul 24, 2018 11:40 AM

Is it possible to create a version for the Harmony Encore that can compile the same source code? 



#3 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • Topic Starter
  • 755 posts
  • Location:Orlando, FL US

Posted Tue Jul 24, 2018 12:19 PM

Is it possible to create a version for the Harmony Encore that can compile the same source code? 

 

Possible, yes. Practical, no.

 

The two carts use completely different microcontrollers with completely different capabilities.



#4 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 9,255 posts

Posted Tue Jul 24, 2018 12:24 PM

Is there any coordination with SpiceWare and his SpiceC project?

 

I think learning 2 different C implementations might explode my head.  <- My failing, obviously :)



#5 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • Topic Starter
  • 755 posts
  • Location:Orlando, FL US

Posted Tue Jul 24, 2018 12:41 PM

Is there any coordination with SpiceWare and his SpiceC project?

 

Not at this time. Good idea though.



#6 Mr SQL OFFLINE  

Mr SQL

    River Patroller

  • 2,018 posts

Posted Tue Jul 24, 2018 6:49 PM

 

Possible, yes. Practical, no.

 

The two carts use completely different microcontrollers with completely different capabilities.

 

High difficulty for you as the dev, but it would be very practical from a standpoint of expanding the userbase so that more people could play the C++ games.

 

I followed a similar approach with Flashback BASIC in order to enable SuperCharger games to run on the Portable console. You do end up coding to the LCD so you would lose some of the power from whichever processor is the strongest, but you could have special modes that trick out the stronger platform at the expense of compatibility in case the programmer needs all the capabilities.   



#7 stephena ONLINE  

stephena

    River Patroller

  • 3,316 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Thu Aug 23, 2018 8:31 AM

For those of you who would like to write 2600 games in C++ there is now a project template you can use to get started.

 

The following are required to build and run:

The template produces a simple bin which draws some skulls and lets you move around P0 with the joystick. You can create games up to 448KB in size and use as much of the 192KB of RAM as you'd like.

 

Currently there is no support for this file format in any emulators. You must test on actual hardware with the UnoCart-2600.

 

 

Just seeing this now.  Is there any possibility (or desire for that matter) to get this running in Stella?



#8 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • Topic Starter
  • 755 posts
  • Location:Orlando, FL US

Posted Thu Aug 23, 2018 8:52 AM

 

Just seeing this now.  Is there any possibility (or desire for that matter) to get this running in Stella?

 

There is certainly desire to have it running in Stella.

 

For development purposes I hacked together a modified version of stella which builds the game as part of stella.exe and runs it that way. This is actually great for development purposes because you get all the visual studio tools like conditional breakpoints and the ability to modify variables during runtime. Obviously that's not going to work for a general solution since there would be massive security implications with shipping Atari games as windows/Linux executables.

 

The Uno cart uses a STM32f4 MCU. If there's an open source emulator for the Cortex-M4 it would certainly be possible to add support to stella.



#9 stephena ONLINE  

stephena

    River Patroller

  • 3,316 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Thu Aug 23, 2018 9:37 AM

Added an issue for this on Stella Github: https://github.com/s...ella/issues/364

 

Don't know how feasible it is, but at least it is now included in the list and on our radar.



#10 DirtyHairy OFFLINE  

DirtyHairy

    Moonsweeper

  • 478 posts
  • Location:Germany

Posted Fri Aug 24, 2018 4:40 AM

 

The Uno cart uses a STM32f4 MCU. If there's an open source emulator for the Cortex-M4 it would certainly be possible to add support to stella.

 

 

I guess you are compiling to Thumb, so this should be covered by the Thumbulator. However, as you are emitting a 6502 instruction stream, there may be synchronization requirements that cannot be covered by the current code.



#11 ZackAttack OFFLINE  

ZackAttack

    Dragonstomper

  • Topic Starter
  • 755 posts
  • Location:Orlando, FL US

Posted Fri Aug 24, 2018 6:59 AM

 

 

I guess you are compiling to Thumb, so this should be covered by the Thumbulator. However, as you are emitting a 6502 instruction stream, there may be synchronization requirements that cannot be covered by the current code.

 

My biggest concern was with thumb 2 and FPU. Not sure if Thumbulator handles those. I wasn't planning on limiting things to just thumb, but I suppose we could if it's the difference between stella support or not.



#12 DirtyHairy OFFLINE  

DirtyHairy

    Moonsweeper

  • 478 posts
  • Location:Germany

Posted Sun Aug 26, 2018 7:57 AM

 

My biggest concern was with thumb 2 and FPU. Not sure if Thumbulator handles those. I wasn't planning on limiting things to just thumb, but I suppose we could if it's the difference between stella support or not.

 

 

Nope, Thumbulator doesn't handle either. I did a short search for a suitable open source ARM core for 6502.ts a year ago, but didn't come up with anything better than Thumbulator.







Also tagged with one or more of these keywords: C++, Strong-ARM, ARM, UnoCart-2600

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users