Jump to content

ZackAttack's Photo


Member Since 6 Sep 2014
OFFLINE Last Active Private

#4190522 The 2018 Atari Awards!

Posted by ZackAttack on Fri Jan 4, 2019 1:03 PM


I don't agree with this, as a large chunk of Atari's original 2600 library consists of arcade game ports.  Even though the "game design effort is mostly provided", a case can be made that doing a port is even a larger challenge versus writing an original game as you are trying to replicate the graphics/audio/gameplay from an existing game.  Which can be very difficult to do on the 2600 platform.  With an original game, you can more easily work within the confines of the system to use it's strengths.  But with a port, people expect the game to look/feel as close to the original arcade game as possible. 




Exactly. What's involved in making a faithful port is fundamentally different than making an original game. This is why I think ports deserve their own category.


Separating them does not imply that either approach is better or easier.

#4190506 The 2018 Atari Awards!

Posted by ZackAttack on Fri Jan 4, 2019 12:41 PM

I'd actually argue the other direction for categories. Instead of adding one for 4k/assembly the bB category should be removed. Either it's a fun game to play or it's not. Who cares how it was built.


A better category would be for ports/demakes since the game design effort is mostly provided by the original IP.

#4174368 UnoCart-2600 : a DIY SD multi-cart for the 2600

Posted by ZackAttack on Mon Dec 10, 2018 3:41 PM

In addition, the UNOCART for the 2600 does not support DPC+ or CDF bank switching schemes.


The UnoCart has support for ACE which is another scheme that allows game code to be offloaded to the ARM core. DPC+ and CDF are currently capped at 32kb rom and 8kb ram. ACE supports 448kb of rom and 192kb ram. On the flip side there are many quality homebrews which have already been released for DPC+ and CDF as well as some excellent documentation for developers. ACE is still largely undocumented and there is currently only a single game in development for it.


I'd recommend getting both carts if you can afford it.

#4157503 Substitute for SARA RAM chip?

Posted by ZackAttack on Wed Nov 14, 2018 10:45 PM

Can't you just use a melody/harmony or unocart? Either one can be flashed as a standalone cart and they both should support whichever bank scheme you want to use.

#4157502 [HELP]Movement Not Right

Posted by ZackAttack on Wed Nov 14, 2018 10:39 PM

Off the top of my head without testing or optimizing I think something like this would work:

   ; pet movement code
   lda PetX                     
   adc PetVX                    
   sta PetX                     
   cmp #LEFTBOUNDRY             
   bcc ReversePetDirection     ; PetX < 20
   cmp #RIGHTBOUNDRY            
   bcs ReversePetDirection     ; PetX > 144
   jmp SkipReversePetDirection ; 20 < PetX && PetX < 144
   lda PetVX                    
   eor #$ff                     
   clc                         ; must clear carry because it's set or cleared depending on which boundary violation got us here
   adc #1                    
   sta PetVX        
   ; TODO This would be a good place to toggle the reflection flag if Pet has a directional sprite              				

Regarding your solution, I think the first adc #0 should actually be adc #1 since the carry flag would need to be cleared to take that code path. If you find that the pet is speeding up each time it crosses the screen twice, that's why. Personally I'd probably just clc before every adc operation until you have a need to start optimizing. Even then you'll probably find better places to start optimizing (low hanging fruit).


Hope that helps.



#4157490 [HELP]Movement Not Right

Posted by ZackAttack on Wed Nov 14, 2018 9:58 PM

So for left, I use bcs to not reverse the velocity if pet's x position is greater then 20
For right, I use bcc to not reverse the velocity if pet's x position is less then 144

Still feels wrong to me. If your position is 155 you are greater than 20 and branch past the reversedirection code as well as the second check for the right-boundary condition.


In a higher level language I think you've created this:

if(x < 20)
  if(x > 144)

But what you really want is this:

if((x < 20) || (x > 144))

Or with the logic inverted:

if(!(20 < x && x < 144))

#4157421 [HELP]Movement Not Right

Posted by ZackAttack on Wed Nov 14, 2018 8:09 PM

Second adc PetVX should be adc #0 since carry is set and you need to add 1?

Also, shouldn't the reverse direction only be skipped when PetX is greater than left AND less than right?

#4136522 UnoCart-2600 : a DIY SD multi-cart for the 2600

Posted by ZackAttack on Thu Oct 18, 2018 10:58 AM

The keyword is "support". AFAIK currently it is missing the drivers to support more than what is described.


The initial release did not support 512K, but DirtyHairy added a 512K implementation of 3E and 3F schemes and I added ACE, a new ARM based scheme which gives full access to the hardware. If you order the UnoCart today you can definitely get it with the firmware that supports those specs.

#4131873 UnoCart-2600 : a DIY SD multi-cart for the 2600

Posted by ZackAttack on Fri Oct 12, 2018 6:04 AM

The DPC changes for Pitfall 2 is the only thing different in this version. If PF2 is already working I would stick with what you have for now.

#4130874 Harmony or Uno cart advantages?

Posted by ZackAttack on Wed Oct 10, 2018 2:21 PM

The Uno is newer and is based on a much stronger ARM chip than the Encore. Games that use the ARM chip in the Encore could be ported to the Uno fairly easily since it has more performance. There are games in development for the Uno which are too large to be ported back to the Encore without some significant effort and in some cases it may just not be possible.


The one exception is bus-stuffing. This has been demonstrated to work on the Encore. It may or may not work on the Uno. No one has tested it yet. Though the only fully working demo I'm aware of is the raycasting demo I posted a while back and I only call it fully working because no one has reported any glitches to me with the most recent version. The Uno will probably handle bus-stuffing as well as the Encore once someone adds support for it, but until that happens it's a big unknown.

#4130429 UnoCart-2600 : a DIY SD multi-cart for the 2600

Posted by ZackAttack on Tue Oct 9, 2018 7:59 PM

Here's another attempt at making DPC work on all systems. Beta disclaimer still applies.


Attached File  20181009-UnoCart-2600-Firmware.zip   65.85KB   65 downloads

#4127684 UnoCart-2600 : a DIY SD multi-cart for the 2600

Posted by ZackAttack on Fri Oct 5, 2018 8:53 AM

We have identified another bottleneck in the DPC emulation which would cause stability issues on some systems. Here is a beta version of the firmware which should address the issue. I'm including the elf and bin of the firmware for anyone who wishes to program the firmware directly via ST-Link.


If you have the 2018-06-30 version of the firmware which includes ACE file support you can simply run the FirmwareUpdater.bin and it will reflash the firmware for you. Keep in mind this is a beta and has only been tested on a single Atari so far. Though it is very unlikely to fail, I can't guarantee this will work for everyone. If power is lost during the update or some other failure occurs you may have to program the firmware via ST-Link in order to recover the cart back to a useable state.


I'm also including a copy of the updater with the 2018-06-30 firmware so the firmware updater can be tested easier. The 2018-10-05 version will show a 1 next to R. Edwards, while the 2018-06-30 will just show "By R. Edwards".


All feedback is appreciated.


To update via SD simply copy 2018-10-05-FirmwareUpdater.bin to the SD card and run it from the UnoCart-2600 menu. Once you run it you must not power off the system until the "Update Complete" screen is displayed. The whole process should take less than a minute.




Attached File  2018-10-05-UnoCart-2600-Frimware.zip   85.43KB   69 downloads

#4127461 Spies in the Night 2 [WIP]

Posted by ZackAttack on Thu Oct 4, 2018 8:47 PM

Awesome premier last night! You've really nailed it with this sequel.


One suggestion I would make is for the laser room. It might feel more natural if the lasers slow down and then speed back up when changing direction. I.E. move 1/4 speed when in the left 10%, 1/2 speed in the next 15% and full speed the rest of the time. I think this would really look nice on the vertical moving beams.


There also appears to be a slight glitch where the direction changes? It looks like the beam may skip a few pixels during the direction change.

#4121865 4K VCS Assembly Programming Competition

Posted by ZackAttack on Wed Sep 26, 2018 6:32 PM

You may want to have a registration period and a minimum participation threshold.

#4120844 Kernel Advice

Posted by ZackAttack on Tue Sep 25, 2018 2:05 PM

It would look more 3D if you space the lines more as they get closer to you. That may be easier to accomplish if you draw the lines with COLUBK instead of PF since you can get a 3 pixel resolution instead of 4.