Jump to content

Recommended Posts

Certain_model_PETS_can_catch_on_fire_from_highspeed_poke_while_others_run_faster.jpg.1ce0ea86e4d80a05e927491f575fdcd3.jpg  Commodore_64_setup.jpg.6efa57d275b325b357a480c3cea156dd.jpg

 

Commodore Business Machines released a PET that could increase the screen refresh rate via an undocumented register address. On later hardware models this undocumented feature was revised and changing the address with the same software could damage the PET and cause a chip to overheat. 

 

In this demo video of the Game Loader with the debugger attached (an Atari 2600 emulator for the Commodore 64) there are sparkles on the real hardware like were seen on the CBM PET where the refresh rate could be increased:

 

 

Technical Details on the debugger and the freezing bug:

The debugger is attached and throwing SYMBOLS from a shell in the upper left and there is an extra 2% time loop reserved if things get tight. I don't think the overhead from the debugger is causing the pause, because it's intermittent.

 

Corruption in the Zero Page

unauthorizedProgram.jpg.fab2beb7f59bea11be3426588cf048c6.jpg

The Commodore has a lot of activity marshalling the Kernel and there is corruption of data on the zero page. I keep chasing these programs to either remove their access to the zero page or coordinate which programs should participating. Kernel sub programs with a legitimate purpose, get to keep their registers in low RAM and I have moved several Shadow registers and fast RAM variables around in the zero page to accommodate those. Some are very tricky and corrupt a value temporarily and then pull it back out of the stack and put it back; I think that's what's causing the freeze when it happens, it's not always the same spot very difficult to track down. I added a debugger to the emu to assist in finding them and reviewing the maps which are very helpful. 

 

Here's the Atari 2600 program code the Game Loader emulator is running, you can see the Shadow registers are already implemented, some partially. Soft collision detection with the sprites and the tile playfield is working in the vid, but not the hardware collision because I have not wrapped the bare metal API for those yet though there is a stub for it already present in the sub Framework so that no errors on compile will happen.

 

Mapping the switches on the console

The Joysticks are already mapped and SWCHB is getting mapped to the function keys on the right side of the Commodore with perhaps shift-lock for the BW/color toggle. 

 

Thoughts and ideas welcome on this interesting emu! More details on the architecture are here :)

 

I plan to release the Game Loader emu/game transformer after more thorough testing to ensure there is no chance of damaging a C64 by frying a chip like with the PET by pushing the VIC-II to emulate a 1 Mhz system on 1 Mhz platforms

 

C64_running_Atari2600_Supercharger_BASIC_game_10LineBlitz.thumb.jpg.aa6cd66992d2238430ee7d0ed3500114.jpg

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

SuperCharger_SpaceInvaders_breaking_on_Supercharger.bin

 

Here is an interesting scenario where the Commodore 64 Atari 2600 emulator is actually running an Atari SuperCharger game which the real SuperCharger cannot run without crashing because it runs out of space.

 

The Atari Flashback Portable also runs this Atari SuperCharger game by transformation it into a CBS RAM game, again with no changes to the source.

 

 Download the Atari Flashback binary and the source code here

 

 

Link to comment
Share on other sites

10 hours ago, polyex said:

Can you run something like Adventure?

Yes! Adventure can run with a custom VIC-II core for the "graphics card", the game loop is already supported in the emu.

 

I was thinking of adding cores for a few classics and a core for classic bB up to 32K, possibly even 64k if I can figure out how to stop jumping around the memory map.

   

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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