Jump to content

DanBoris

Members
  • Content Count

    1,086
  • Joined

  • Last visited

Everything posted by DanBoris

  1. quote: Originally posted by Cafeman: Most of my DLI's in Koffi are over a mostly black screen though (hence, little Antic time stealing? I'm not sure). The only time it doesn't cycle steal is when the display list has a blank line instruction. If it's a mode line, even if it's all black, it's still reading the data. Also PMs steal a couple cycles on each line no matter if it's a blank line or not. The next verison of VSS will still be in DOS. I rather concentrate on the emulation then worring about how to develop under windows. However, since I am developing under Windows XP now it is very Windows friendly. I have it running perfectly with full sound under XP. Dan
  2. While I was working on getting River Raid to work on my 5200 emulator (VSS), I recalled something that I had forgotten about DLI timing, so I thought I would share it for everyone benefit. During each scanline there are approximitly 114 cpu cycles in which do load data for the next line. But, the important thing to remeber is that the ANTIC steals a lot of the cycles to move data from memory to the display. ANTIC steals 1 cpu cycle for each byte it read from memory. For example in Antic mode 2 the ANTIC steals 80 cycles, 40 for the character code reads and 40 for the actual graphic data reads. There is some extra overhead on top of that so you can see that you don't end up with to many usuable cycles on each Antic mode 2 scanline. River Raid is interesting (like a lot of Activision games). It enters a DLI at the top of the display and stays in it for almost the entire screen. It keeps track on the current scanline by incrementing the X register and hitting WSYNC. The tricky part (and the reason it didn't work on my emu) was that at certain points in the display it has to do to much in one line and misses a WSYNC so it increments the X register twice at these points. Dan Dan [ 04-15-2002: Message edited by: Dan Boris ]
  3. Yeah, 5200 Berzek has a voice, it's pretty cool! Dan
  4. quote: Originally posted by Cassidy: ...., Star Wars cockpit,... If anyone needs to find me at the show this is where I will be! Dan
  5. There are a number of them. I recommend VSS (http://atarihq.com/danb) since I wrote it You can also find links to a bunch of other ones here: http://www.atariage.com/5200/emulation/ind...l?SystemID=5200
  6. You can also get them here: http://www.best-electronics-ca.com/
  7. I personally don't think that type of team development lends it's self well to the 2600. On newer system like the Jaguar the game can easily be broken into independant modules that different people can work on, eg. Person X writes the game logic, Person Y writes the graphics engine, etc. This would be very difficult the 2600 since everything in a 2600 program is so tightly interrelated. You also couldn't hand something like graphic design to another person, since the appearence of the graphics is heavily dependant on the display engine you write. What does work well (which is what is done a lot on this message board) is to have a group of people you can bounce ideas and problems off of. That way you develop the game with one programmer, but when you get stuck on something you have people that can lend ideas and suggestions. Dan quote: Originally posted by Darren Reid: Actually I am 2600 prgrammer and do know the system well but i am also involved in Jaguar development where i work as a designer for a team, the idea behind my proposal being to do what the jaguar community does, genuinly work to making the game the best it can be with loads of different people from around the world, i had no idea the 2600 was so anti-social [ 04-05-2002: Message edited by: Dan Boris ]
  8. It's actually not mine. Someone brought it to a collectors meeting. I don't know if it actually worked or not. Dan
  9. quote: Originally posted by Atari Chuck: @ Curt Vendel Would the games in that one happen to be Defender, Centipede, Football, and Qix? On the one I got to play around with I believe those where the 4 games. We actually had to pull each cart out and test it since they where not labeled. This game list makes sense with the exception of Qix. Not sure why they didn't put in something more main-stream like Pac-man. Dan
  10. Does the 4-port actually have a different bios then the 2-port? I never really thought about this. I would really like to get ahold of both versions to compare them. Dan Boris
  11. My favorite part of this unit are the tie-wrapps and foam blocks used to hold the cartridge riser stable. Dan
  12. Cool! Now that I know how it's supposed to behave, I just have to figure out how to implement that in the emulator. Dan
  13. I actually got a chance to open up and poke around inside one of these recently. They are pretty scary inside, looks like they where pretty much just slapped together. So of the few that are out there, I bet even fewer actually still work. Dan
  14. This actually makes sense. The POKEY chip was designed for scanning a full size keyboard (64 keys). Since the 5200 only has 16 keys on the keypad, only 4 of the 6 outputs of the Pokey scan counter are hooked up. The result of this is that any keypress should actually return 4 different scan codes, which to the POKEY appears as iff 4 different keys where pressed at the same time. This would explain the behavior of the "last key still pressed" bit on SKSTAT. Now, according to the tech reg for the POKEY chip, if debounce is enabled (SKCTL bit 0) and more the one key is pressed at the same time, both key codes are thrown away. If this is all true that would mean that if you turned the debounce on, on the 5200 you would never get a valid keycode back. Can anyone confirm this? Dan quote: Originally posted by calamari: "On the real 5200, SKSTAT doesn't act like it does on the emulator (take a look at DEBUG52, and view address $E80F.. see how it is $FF then stays $FB while a key is pressed? Not so on the 5200, it is mostly $FF with an occasional $FB). So, we can't use SKSTAT to tell us when the key is no longer held." calamari [ 04-02-2002: Message edited by: calamari ]
  15. For Cafeman: 1. Multi-color Overlapping players. This was my first priority in the new version and I already have it working great. Does anyone know how this effects missiles? 2. Colors. The color palette is a major problem. I setup an 800XL next to my PC and compared the colors are you are right they don't match. The real colors seems to get brighter faster then the emu, and the at luminance 15 they are almost all white on the real hardware. My problem is tweaking them manually would be a nightmare so I need to find a formula to calculate the whole palette. Debugger: I look into adding a break when a certain address is changed. For Debro: The debugger can already do what you ask. Just type R 4014 and it will start executing until it gets to address $4014. VSS .80 already support 8K and 16K ROMS. Dan
  16. I am currently working on the next release of VSS and since a number of people here use it for development I was wondering if there are any features that people would be interested in seeing. Dan
  17. Building a cart dumper is not a trivial task. If you really want to do it, the easiest solution would probably be the one on this page: http://quadrun.tripod.com/ Which is built from an Atari 7800 (which might be the one mentioned above). This will dump both 7800 and 2600 carts. It would be very hard to build a device like this out of a 2600 since it doesn't have a BIOS ROM or extra RAM to put the dumping code in. You could build something from scratch but this is tricky. Probably the easiest way would be to buy an EPROM reader/programmer and make an adaptor that connected the EPROM socket on the programmer to the cart. The 2600 cart dumper I built a long time ago was built on an PC ISA card with a peripherial interface chip. Dan
  18. First, DON't use a wet (with water) rag. You really don't need to do an over all cleaning of the board, there are certain key areas that need to be cleaned. If it's just dusty blow it off 'manually', or with some canned air, or an air compressor. Next clean the cartridge slot with some alchohol. The best way I have seen suggested to do this is to wrap a tissue or paper towel around a thin piece of cardboard and wet that with alchohol. Finally you can clean bad connections between the chips and thier sockets by very carefully removing and re-inserting each chip. These tips will solve many problems with the 2600. Dan
  19. I went to the first one, but missed it last year. I am definitly going this year. I offered to be a volunteer this year so I will probably be helping out with the show. If anyone is a Pinball, that same weekend at the Jersey shore will be theWildwood Classic Pinball Challenge It runs through Sunday and is only about a 2 hour drive from where Phillyclassic is being held. Dan
  20. Anyone who's really into Atari should get thier catalog, even if you don't plan to order from it. Has a lot of good reference information in it. Dan
  21. DanBoris

    ORG $F000

    When the 6507 processor in the 2600 resets it reads whatever address is stored at memory location 1FFC/1FFD and then jumps to that address to start execution. As mentioned above .ORG simply tells the assembler the origin address of you program. So if you have this in your source code: .ORG $1000 start jmp start "start" is a label, so the assembler would know that start=$1000. When it assembled the jmp instruction it would be assembled to jmp $1000. One other thing to note about the 2600. Since the 6507 processor only 13 address lines, the highest memory location it can access is $1FFF. But this doesn't stop you from putting your code at $F000. If the 6507 encountered a JMP $F000 for example, the top 3 bits of the address would be dropped and the jump would go to $1000 instead. Dan
  22. DanBoris

    6507 pinout

    /RES = Reset. Pulling this low resets the processor. RDY = Ready. When RDY goes low, it essentially stops the execution of instructions by the processor. This is usually used when a device takes longer then usual to read or write data. When the processor attemps to write to a slow device, the device will pull RDY low until it has actually written the data. O0 = Phase 0: This is the master input clock to the processor O2 = Phase 2: This is an output clock from the processor that is derived from Phase 0. It is used to synchronize read and write to external devices. Dan
  23. Here are the numbers on the VLSI Maria chip: 809 V. M002R 2049C0002 CO25349-30
  24. DanBoris

    Text Editor

    I'll second that, I love Textpad, use it all the time for all kinds of text editing. Dan
  25. I seems like the Atari 2600 has become the universal symbol for video games. It's not surprising that Slashdot.org uses it as the icon for gaming news, but I was surprised to see it marking the games section of the Turner Classic Movies web site: http://www.turnerclassicmovies.com/ Dan
×
×
  • Create New...