Jump to content

EricBall

Members
  • Content Count

    2,362
  • Joined

  • Last visited

Posts posted by EricBall


  1. My changes to the MESS a7800 were mostly improvements to the 320 modes, and really only have an impact to Tower Toppler AFAIK. The 2600/7800 Artifacting topic has some screen shots showing the differences. Note: Tower Toppler on MESS looks different than on a real TV, see the topic for details.

     

    The MESS emulation of the 7800 is not perfect (though most games work acceptably). MESS does not model how MARIA DMA steals cycles from the 6502, nor how the 6502 clock downshifts for TIA & RIOT accesses. So any homebrews should be tested on a real 7800 (which should make Chad happy).


  2. I'm actually surprised that the homebrew authors are okay with Activision profiting off their games without the homebrewer seeing any money at all.

     

    First, Activision is hardly profiting off the included homebrews. The popularity of the PS2 anthology proved that there was a market which they have now expanded to other systems (GBA, PC, Mac). Activision could have simply included the same titles on the new release, but they decided that many homebrews were good enough to stand shoulder-to-shoulder with the Activision label. And I, for one, am very proud to have Skeleton+ included.

     

    What I'm trying to say is the Activision library is selling the anthology, not the homebrews. The homebrews are a bonus.

     

    Second, the license agreement for the Skeleton+ binary specifically permits people to play it using an emulator, a RAM cart (e.g. Supercharger or CuttleCart) or even burn an EPROM for personal use. So anyone who wishes to play Skeleton+ can do so without buying the cartridge from AtariAge or Pack Rat. (Yet over 100 have done so.) Thus, having Skeleton+ included in the anthology deprives me of few sales but merely increases the number of people who can enjoy playing it.

     

    Finally, there is something very, very rewarding about dreaming of the day when my son can take copies of Skeleton+ to show-and-tell and say "my Dad did this", or be able to say "that's mine" any time I see someone playing Skeleton+.

     

    Personal accomplishment, ego trips, and flat out fun is why I program for the Atari 2600 & 7800, not personal profit. (Though purchasing Skeleton+ has to be the most sincere compliment I can think of.)

     

    Oh, and Activision simply asked whether any homebrewers would like to be included and I'm sure they had no shortage of volunteers. We entered into the contract willingly, knowing full well how we would be compensated.


  3. The encryption (digital signature really) issue has been resolved, so that is no longer a road block. The basic documentation exists, MESS does a decent job emulating (though you need to recompile it for debugging), and the CC2 is in beta test. About the only thing which does not exist is the homebrew community and various bits of sample code.

     

    Programming the 7800 isn't difficult, it's still 6502 assembly. No requirement for tricky cycle counting either. Building the display list list (not a typo) is mostly just data movement.

     

    I believe there is some interest in 7800 programming, and there will be interest in buying 7800 homebrews too.

     

    And yes, I am working on a game. Watch this forum for developments in the near future (depending on my time).


  4. This also calls into question the value of 320 modes.  I wonder why GCC included them.
    There's a option to turn off the color burst for hi-res modes. Then it should display as pure 320 b&w picture without any artifacting. (At least I understand the docs that way).
    My question is: If the 7800 supports colored objects in the 320 mode, why use artifacting at all?

     

    Bry, you answered your own question. The color isn't important, it's the repeating on/off pixels which cause the artifacts. The artifacts may allow colors to be shown which aren't in the 7800 palette, or display more colors than the given 320 mode is capable of.

     

    Jindroush, I suspect even in B&W 320 mode alternating on/off pixels could cause artifacts.


  5. The two screenshots show the impact of the forthcoming changes to MESS on Tower Toppler. As you can see with the old version the player shows through the top of the space ship and the tower shows through the bottom of the space ship too. Neither occurs with the new version.

    post-2222-1063894262_thumb.png

    post-2222-1063894263_thumb.png


  6. Ahh-ha! I think I understand what is happening. Because the 7800 MARIA has a 2*colorburst pixel clock, the alternating on/off pixels of the tower creates a waveform at colorburst frequency. So rather than producing the stripes shown by MESS, it gives the solid color shown in the screenshots.

     

    This reminds me of hi-res mode on the Color Computer. Although it was a 256x192 two color mode, single pixels would be either red or green/blue depending on whether it was odd or even.

     

    So Tempest, I was wrong. The 320 modes may have color artifacts (especially Tower Toppler). Whether these artifacts will occur with an S-Video mod is an interesting question. Because S-Video doesn't have a colorburst filter (notch or comb) I suspect the output will look more like MESS.

     

    I'm not sure if this effect can be easily reproduced in MESS. I suspect the programmers did a lot of trial and error development to determine what each color / stripe combination did.

     

    This also calls into question the value of 320 modes. I wonder why GCC included them.


  7. Great minds think alike:

     

    SEG	ROM
    
    HEADER	ORG	ROMTOP-128
    
    DC.B	1  ; 0   Header version     - 1 byte
    
    DC.B	"ATARI7800"	; 1..16  "ATARI7800   "  - 16 bytes
    
    DS	7,32
    
    DC.B	"7800 Space War!"; 17..48 Cart title      - 32 bytes
    
    DS	HEADER+49-.,0
    
    DC.B	$00,$00,256->ROMTOP,$00; 49..52 data length      - 4 bytes
    
    DC.B	$00,$00  ; 53..54 cart type      - 2 bytes
    
       ;    bit 0 - Pokey cart
    
       ;    bit 1 - Supercart bank switched
    
       ;    bit 2 - Supercart RAM at $4000
    
       ;    bit 3 - ROM at $4000
    
       ;    bit 4 - Bank 6 at $4000
    
       ;    bit 8-15 - Special
    
       ;   0 = Normal cart
    
    DC.B	1  ; 55   controller 1 type  - 1 byte
    
    DC.B	1  ; 56   controller 2 type  - 1 byte
    
       ;    0 = None
    
       ;    1 = Joystick
    
       ;    2 = Light Gun
    
    DC.B	0  ; 57 0 = NTSC 1 = PAL
    
    ORG	HEADER+100	; 100..127 "ACTUAL CART DATA STARTS HERE" - 28 bytes
    
    DC.B	"ACTUAL CART DATA STARTS HERE"
    
    
    
    ROMTOP	ORG	$F000
    
    


  8. I think that 7800 does artifacting. I was reported that Tower Toppler is 'colored' whereas in MESS it's stipped b&w, which suggests artifacting.

     

    Maybe also second screen of Jinks is artifacted?

     

    There were a couple of bugs in the MESS a7800 video driver which should be corrected in the next release. I'll give Tower Toppler a try.


  9. I think that 7800 does artifacting. I was reported that Tower Toppler is 'colored' whereas in MESS it's stipped b&w, which suggests artifacting.

     

    Maybe also second screen of Jinks is artifacted?

     

    There were a couple of bugs in the MESS a7800 video driver which should be corrected in the next release. I'll give Tower Toppler a try.


  10. What do you mean by artifacting?

     

    The 2600 & 7800 graphics are based around pixel clock = colorburst or half colorburst with (on the 2600 at least) the color provided by a delay tapped colorburst signal.

     

    Everything I've read about video mods for the 2600 & 7800 haven't indicated any color problems. (I haven't worked up the courage to do my own mod. I also have some ideas using some VLSI video amplifiers.)


  11. What you need is a basic text editor, an 6502 assembler and MacMESS.

     

    Ooops, forgot, you will need someone to recompile a78sign.c for the Mac. Although you may be able to use one of the modified ROMs (or even the PAL ROM) to bypass the digital signature check.


  12. As for Kirk's idea about using the playfield registers and storing heights, hmm.

     

    if we asume y = row number

     

    cpy hpf0b4 ; height of pf0 bit 4

    ror ; cpy sets the carry bit, shift it in

     

    Okay, that makes it possible to create the playfield values on the fly. It's expensive though, 5 cycles per bit. That's far too many for a asymetric playfield which requires 36 cycles minimum per line. So that means a 6 line kernel ((40*5+3*6)/(76-36)). It would be a big 'un too. But not impossible. Two sets of PF shadow registers, update one set while the other is being displayed.

     

    And there's no time for sprite updates ((240-216)/6=3.67). Do I hear a 7LK?


  13. Pitfall 2 was an implementation of patent #4,644,495 known as the DPC chip. (Click the image link to get the figures.)

     

    Basically the chip contains three (16 bit?) counter based binary waveform generators which are put through a weighted adder to generate a 4 bit amplitude level. Once the counters are initialized, Pitfall 2 reads the adder output from a cartridge memory address periodically (every line?) and shoves that value into the TIA volume for one of the channels. Thus high quality 3 voice music at the cost of some silicon and CPU overhead.


  14. A game could try and detect that it was loaded into a SC or CC by looking at the housekeeping RAM locations used by those devices. The wouldn't work for an emulator though. Though if an emulator always had the same initial values (ie zero) for RAM or other registers where the real thing was random, that could also be detected.

     

    About the only way to slow down the process is to use some kind of unique slapstick / bankswitching device like the Atari arcade games used. But the cost of the part would be prohibitive. (Even the AtariAge bankswitching part add $2 to the price of the PCB.)

     

    Pitfall 2 is the ultimate version of this. I suspect emulating it would have been very difficult if the patent description didn't exist.


  15. Also the rolling happens because of this too. Some TV/VCS combinations won't recognize a proper sync signal, if VBLANK isn't turned on during the three lines of VSYNC. I've have that problem with my old PAL TV and a 2600jr, that was also incompatible with Kool Aide Man.

     

    VBLANK specifically, or will turning off everything (with COLUBK=black) work as well?


  16. unless I'm very sadly mistaken (wouldn't be the first time) you can't READ the horizontal position from anywhere

     

    Correct. You also can't load the horizontal position directly.

     

    ...so that means you have 3 general options:

     

    #1 & #2 are only really applicable if you don't re-use sprites. And since part of the power of the TIA is the ability to re-position sprites on the fly...

    so that leaves us with #3.

     

    So for each sprite the game has a horizontal position variable. The challenge then becomes translating that 0-160 value to the correct RESPn and HMPn usage.

     

    Now I hope I'm not giving away too much to say there are ways to reposition a single sprite in one scanline. Unfortunately, these techniques leave very little time to do anything else.


  17. 2. Skeleton+. I don't understand the rules quite yet -- every 5 kills it seems to advance to the next level. Some skeletons seem to take multiple hits. Do the mazes change? I can't tell yet. Another great game. After getting used to the game, I was zipping all through the maze zapping dem undead guys. I like how you'll see them looking sideways or with their bony backs to you! So far I've only killed 22 Skeletons in one game. Nice game over screen "Got You"!

     

    Read The Fine Manual :wink:

     

    Depending on the difficulty switches when you start the game, you will either need to kill 5 or 10 Skeletons per level. There are 8 levels in the game. Each level is a different maze, with different styles (long vs short corridors etc).

     

    Each Skeleton will take more damage. So the first Skeleton has one life point, the second two, and so on. However, the damage you do is variable as well, so sometimes a Skeleton will take more or less shots to kill.

     

    I'm glad that you enjoy playing Skeleton+.


  18. re: multiplication and division: remember, both are really just high powered forms of addition and subtraction, respectively. So to multiply a number X by Y, sometimes it's going to be easier and quicker to just add X to itself Y times.

     

    The problem with using add/sub for mul/div is the high variability. And although 2812 cycles sounds like a lot, it can get used very easily.


  19. is parallel when you have one cap and then another or when you have 2 wires coming from each point and a cap at each wire?

     

    Series is like a train or chain with "output" of one connected to the "input" on the next. The wires only connect to one component each.

     

    graphically: -||--||-

     

    Parallel is beside each other, with all of the "outputs" connected together and all of the "inputs" connected together. The wires connect to all components.

     

    -||-

    -||-


  20. Superchargers can be had at a reasonable cost on eBay, and can handle standard 4K carts and do 6K bankswitched. There are utilities to download the ROM image from a PC too.

     

    But it is very possible to develop using only a good emulator (Z26 is my favorite) as a guide. Skeleton was developed using only an emulator, with some final testing by others on real hardware.


  21. I just downloaded the 200+MB gold demo, and have spent a few hours completing it (including getting the Blaster). Unfortunately, I have to agree with one of the reviews I read - it's a average first person shooter.

     

    First, I you are going to release a 200+MB demo (and what the heck is taking up 200MB in this one level demo?), a separately downloadable test program might be a good idea. Fortunately, my PC was up to the task.

     

    Okay, things I liked:

    1 - It's TRON. The game looks is like the movie, only better. And there's all kinds of little touches (like the lean & peek) from the movie too.

    2 - Umm, there's some neat FPS stuff (like the shock-sticks, and the cluster disc), and some amusing dialog.

     

    Things I hated:

    1 - The whole saving / jumping / falling / dying / loading got very old getting to the Blaster (which wasn't worth the effort)

    2 - Single shot weapons with long reload times and multiple attackers don't mix. Especially when the attackers are better shots than you are.

    3 - Why can't I remap the keyboard? (Especially for the lightcycles.) Changing weapons is an annoying two step process too.

     

    The lightcycle mini-game is neat, though so far I've found the best strategy is to run away and let the computer-controlled bikes kill themselves. Going head-to-head with the computer, which can react quicker and turn quicker & more accurately, a recipe for doom. A shield-breaker helps, but is not enough.

     

    As Gregory said, I'll wait until I see it in the bargain bin.


  22. No 'cause they work very differently. On the Atari controller each switch (fire button, direction) is connected directly to a pin on the connector. In the NES controller (and any other modern controller) contains a parallel to serial converter, so there is no direct pin to switch relationship.

     

    People have handwired Atari 9 pin cables to the NES controller internals, but I've never heard of an external converter.

     

    There is also a NES style 7800 controller which should work on the 2600.

×
×
  • Create New...