Jump to content

kamakazi

Members
  • Posts

    547
  • Joined

  • Last visited

Everything posted by kamakazi

  1. Thank you for the prizes. Now that I think about it, replacement shells for the hardware would be cool to see.
  2. That would be nice to see again for those of us that missed out on the originals many years ago.
  3. I actually won something? I never win anything. But I just won a copy of Berzerk. Thank you! Merry Christmas!
  4. The same Rebellion that makes the Sniper Elite series?!?
  5. One game I think the 2600 could handle is Qix. The original 2600 never got Qix and I’ve wondered if the machine could handle it. If for the 7800 portion of the 2600+ a version of Gradius or Life Force would be cool to see.
  6. I know that they are different...was just having a humorous moment. So if I have a program that uses all four player registers then the XL and XE will still have those registers (P0-P3)? And how much memory should I have on an XEGM with BASIC (Keyboard) running and DOS 2.5 loaded? If I'm not mistaking my XEGM "should" have 64K of RAM. All that BASIC is reporting back is 32K and that is using the command: PRINT FRE(0)
  7. I am working on a project (still working out some display and register issues) when it dawned on me. The original 400/800 had four controller ports and each port, in simple terms, had its own player register in PM Graphics (or in the OS). XL and XE machines removed two of the controller ports I assume to cut production costs. Does this mean that the extra player registers were removed as well or are they still intact? I'm asking because my game project is designed on paper to take advantage of all four player registers. I don't want to create something for just a specific line of Atari 8-bits...I want it to be able to play on all of them. Thanks in advance!
  8. I'm posting a little bit late but better late than never. I am really surprised that someone has not thought of a way to convert one of these older disk drives into a CD-ROM drive yet. Why CD-ROM? For a few reasons. Older CD-ROM drives are readily available Every modern PC has a CD-ROM writer now (would make it easier to get games on discs) Discs are cheaper than SD Cards Only the format is digital, signals are still analog to a point Has anyone ever tried to get an Atari 8-bit to try to use a CD-ROM drive? I have plenty of those that are pulls from every PC I've owned. I also have plenty of old-school hard drives that would be nice to see work with an older Atari computer. Just my opinions and thoughts.
  9. That all makes sense. Thanks for pointing that out. It's strange but it works. I'm surprised I haven't noticed it before. So I may have been "poking" character data in the wrong place then. And that might explain why I'm all of a sudden getting a screen full of jargon when I run a sample program. Thanks again.
  10. I am working with a character set in RAM (copied from ROM) using an example program from ANTIC Magazine. In the article it replaces the ampersand symbol (&) and says that it is located at decimal number 6 [CHR$(6)]. But I am on an XE system and I have noticed that the entire ATASCII character set has been rearranged on XL and XE systems compared to the original 400/800 models. Is this the reason for the need of a translator cartridge? I am sure that there are other reasons as well but this might change the way I need to develop any programs for the Atari 8-bits. To make sure that programs written on one machine will work correctly on another, is there a way to POKE somewhere to tell what type of Atari computer a person is using?If not then I will have to let the program ask the user what Atari they are using so the character set can be correctly loaded. Are there any other differences I should be aware of (besides CTIA/GTIA and controller port differences)?
  11. From what I have learned so far, I can have GR. 6 take up say 162 lines and the remaining 30 lines can be GR. 0 for a HUD. I might try to do GR 1 or 2 for the HUD depending on how it looks when it is setup. So far I have not ran across information about the Playfield's Graphics Memory nor its location. I'm still reading ANTIC Magazines (which is why I asked about Playfields here) and have learned a great deal about Display Lists and PM Graphics from that source. I will have to repay a visit to the issue with the Display List how-to again in ANTIC. I love that magazine and I wish they were still around. I also wish that there was an Atari computer club in my area for exchanging such information. Maybe I ought to start one? And, just out of curiosity, which format would Atari computer gamers prefer: Cassette, Disk, or Cartridge? I know that making a cartridge would mean having to build the game in Machine Language only but I have seen many older software ads that offered only Cassette or Disk and some of those games seemed to combine BASIC and Assembly Language routines. Thought I would ask in advance.
  12. To add to ricortes responses it seems that some of your questions are going to be more opinion based than depending on facts. Here are my two cents worth. FACT: The 5200 was advertised as an at-home arcade machine. Only one other console did this and that was SNK's NEO*GEO system. FACT: The 5200 was the first cartridge-based console that could closely-reproduce the "hit" arcade games people wanted to play at home. Check out QIX on the 5200 sometime. FACT: The 5200 was the first system to have a dedicated PAUSE feature. Other consoles required mashing multiple buttons. FACT: The 5200 was the first 4-player system even if only one officially published title took advantage of that feature. The other titles can be found in AA's store. FACT: The 5200 joystick controllers combined two paddle controllers into a single, hand-held controller. It's the first analog controller to use a joystick scheme. The 5200 is a very capable system and was as close as one could get to owning real arcade games at home. The Colecovision was its only true competitor. Both consoles are great but each got titles that the other one didn't. Most Universal and Epyx titles (Pepper II, Looping, Mouse Trap) were on ColecoVision while most Namco and Taito titles (Pole Position, Dig Dug, Pac-Man) were on Atari. Both got games from Parker Bros and few other third-party developers and even Atari brought a few games to the Colecovision. From a hardware standpoint having similar processors found in Atari's home computers, declared as the most powerful computers for their time, gave the 5200 a somewhat advantage. Games on the 8-bits could be brought over to the 5200 requiring only slight modifications for the joysticks and missing components (as mentioned). However, there were some games that made it to the 5200 first before the 400/800 got them where the 5200 port is easily the better port. Again, QIX is a good example of this. So is Space Dungeon. My 5200 is an original 4-port and has lasted since new. The only real issues I have come across are with the controllers. They are what they are but when they work as they should they are some of the best controllers I've come across. I'd rather deal with faulty POTs than worn out 2600 CX-40 pads and that plastic insert. The 5200 does have a learning curve with the analog control scheme on all of its games. Once this curve is learned, however, the 5200 is a very fun system to own. And, yes, the 5200 was my first console ever while my school friends all had 2600 consoles. If you plan on getting a 5200 just for collecting purposes where it will spend most of its life on a shelf then please pass the 5200 up. It is not a system that can sit on shelf for months at a time before being used again. It has to be played often to maintain a good working order and that is mainly because of the joysticks. They wear out more from not being used than actually being used if that makes sense. If you get one, however, and get Centipede and Missile Command then keep an eye out for the Trak-Ball controller.
  13. It's been a while and progress on this 2600 program has been slow. To take a break I have been learning the Atari 8-bits as well (ML routines through BASIC). IF there is enough space on the 2600 the game is planned to have at least 4 different mazes that randomly appear. I have also thought about breaking the maze down into "parts" that can be randomly placed so that each maze would be unique. Still a work in progress though and there are plans in place to have it appear on ALL the Atari 8-bit consoles from the 2600 to the 7800 and computers. I've got a LOT of learning to do so if I don't respond in a while it's because I will be busy hammering out code for the game. I also have two more game ideas on paper that will follow this one. I'm following one of my childhood dreams of wanting to work for Atari, Inc and at 40 years old it's all I have besides my wife and doggie. For some reason, though, the learning process is going slow and I use to be able to pick up on programming languages fairly quick. I blame old age on this one LOL. Hang in there with me...I WILL get 'er done!
  14. Hi everyone! First of all let me explain what I'm trying to do. I have already posted under the 2600 Programming for Newbies section a game idea I'm working on. And without giving too much specifics I managed to create one maze (with no working player graphics yet) on the 2600. I have stopped that one for a bit because the "call" to program on an Atari 8-bit computer was bugging me. So, while that is on hold for a bit, I decided to work the maze out on an Atari 8-bit. In theory I guess you could say that the game is being programmed, side-by-side, on both systems. And while I am doing this in Atari BASIC on the 8-bit I am using PM Graphics for player graphics. And thanks to ANTIC magazine I am understanding this aspect of the Atari computers, and Display Lists too, much better. Since I am using BASIC I understand that the Playfield is not part of PM Graphics. With that being said are there ways to create a maze-like playfield in BASIC using something similar to what would be used in Assembly Language for testing purposes? If it makes a difference I'm on an Atari XEGM with a 810 disk drive and using ATARI DOS 2.5. Thanks In Advance!
  15. I'm responding a little bit late to this thread but my first encounter with any Atari drives was back in 1998. An old consignment store (more like a second-hand store) had an XEGM with 2 XF551 drives, a SX212 Modem, a 1010, and an OkiData color printer. It all worked flawlessly and I never had an issue with the drives. The XEGM was complete with keyboard, all cartridges, and light gun as well. I had a blast with it. Later, not knowing just what I had, I traded it off for another Atari console which I regret to this day. It wouldn't have mattered much since happenings in my life since that trade-off would have ended up with me losing it anyway. I later acquired an 800 but I never got a floppy drive and instead could only afford a 1010 which I did like. I now have another XEGM and, thanks to Lance, I have a 810 drive. Although I am not sure exactly which 810 I have. The casing is cracked due to aging (and possibly a rough trip during shipping) but the mechanism is solid and works flawlessly. I wouldn't part with it for anything. I can deal with the single-side disk issues and I hope to get my hands on a couple of 1050s soon. I don't need them modified. Original works fine for me. I do, however, hope to get an 800 or 800XL as I don't like the XE keyboards.
  16. Without using bankswitching I am limited to 2K or 4K of ROM, correct?
  17. So I can convert my playfield data from #%10111101 to #$BD and then I would end up with something like: .byte #$00 .byte #$5A .byte #$FF .byte #$7E .byte #$3C .byte #$5A .byte #$5A .byte #$00 Then I can simplify the data further by doing something like: .byte #$00, $5A, $FF, $7E, $3C And then just load the playfield changes when needed? I am learning but this ol' dog is taking a while to get the hang of it. Assembly has a lot more hand-holding than BASIC or other forms of programming languages I've come across. In some ways it is almost like ActionScript (FLASH) in that you have to be very specific at specific times or nothing will be right. And one flaw can throw a monkey wrench in the whole thing.
  18. Hi All, It's been such a long time since I thought about developing for the 7800 due to life challenges I was facing when I made my original post. I have since been to college, graduated (although I still "owe" the for-profit institution I attended so no degree yet), and started learning assembly on the 2600. I realize that most of the links in my first post are dead. I will try to correct those links somehow, someday. I'm surprised to see this thread still pinned and that some members have been posting in it. Although it does seem that it has been a while since someone posted anything it is still here and intact.
  19. From the responses I'm getting it seems like I might ought to try and rework the code for optimization reasons. The code will need to be able to perform playfield, sprites, joystick detection, collision detection (four of these: one for collecting a flag, one for any missile hitting another player, one for any player running into a playfield boundary, and one for any player running into another one), scoring, lives, and a timer. Let's see...did I miss something. Oh, YEA! The AI of the enemy sprites. So I still have a LOT of work to do and if I try to optimize now the less issues I will have later. Hopefully. Thanks for the information.
  20. It's been a while since anyone has responded to my questions above so I will do an update. I was working on trying to add sprites to the playfield when I ran across an unexpected issue. And here is the code work (so far) if some one would kindly tell me where I went wrong. ;Flag Patrol - filename flagdemo.asm ;Atari 2600 Game Program ;by Michael Allard ;(C) 2014 Mike Allard Studios ;Use with Joystick Controllers ;1 Player ;************************************* ;** Start Up ** ;************************************* processor 6502 include "vcs.h" include "macro.h" ;************************************* ;** Point to starting RAM location ** ;************************************* seg org $F000 ;************************************* ;** Reset ALL RAM Locations ** ;************************************* Reset ldx #0 ;Set a counter lda #0 ;Set accumulator to zero Clear sta 0,x ;set memory location (x) to zero inx ;change to next memory location bne Clear ;if we haven't reached the last ;memory location then keep going ;************************************* ;** Initializations ** ;************************************* ;** ** ;** Set Player Positions Data ** ;************************************* Player1POS = 130 ; Set player 1 in top-left portion of maze ;************************************* ;** Set Background and ** ;** Playfield Colors ** ;************************************* BackgroundColor = #$80 ;Medium Blue PlayfieldColor1 = #$8B ;Light Blue Player0Color = #$1E ; Player 1 = Yellow Player1Color = #$44 ;Player 2 (Enemies) = Red ;************************************* ;** Turn on Background and ** ;** Playfield Colors ** ;************************************* lda #PlayfieldColor1 sta COLUPF lda #BackgroundColor sta COLUBK lda #%00000001 sta CTRLPF ; reflect playfield LDA #Player0Color ; Yellow STA COLUP0 ; Player 0 Color LDA #Player1Color ; Get Enemy Color STA COLUP1 ; Store it! (RED) ;************************************* ;** Start Of Frame ** ;************************************* StartOfFrame ;************************************* ;** Start Vertical Syncing ** ;************************************* lda #0 ;Set TIA to zero sta VBLANK ;Here we go! lda #2 ;Set accumulator to two sta VSYNC sta WSYNC sta WSYNC sta WSYNC ;3 scanlines of Vertical Sync lda #0 ;Set Accumulator to Zero sta VSYNC ;Turn On VSYNC ;************************************* ;** Top Vertical Blanking ** ;************************************* ldx #33 ;set x at 34 for out vertical blank timer NotDone sta WSYNC dex ;Did we hit 37 vertical blanks yet? bne NotDone ;NO - Keep going until we do lda #0 sta VBLANK ;************************************* ;** Draw Playfield ** ;************************************* ;** We have 192 scanlines to use. ** ;** Let's track them! ** ;************************************* LDX #192 ;192 Scanlines to display Draw_Playfield LDA Screen_PF0-1,X STA PF0 LDA Screen_PF1-1,X STA PF1 LDA Screen_PF2-1,X STA PF2 STA WSYNC CPX #Player1POS BEQ ResetPlayer1 DEX BNE Draw_Playfield LDA #%01000010 ; Disable TIA Output STA VBLANK ;************************************* ;** Finish Up Unused Cycles ** ;************************************* ;EndBD sta WSYNC ; dex ; cpx #50 ; bne EndBD ;************************************* ;** Bottom Vertical Blanking ** ;************************************* ldx #0 ;reset x to zero Overscan sta WSYNC ;start overscan trace inx ;increase x by 1 cpx #30 bne Overscan ;No we didn't ;return to Main Routine jmp StartOfFrame ;************************************* ; Place Player OnScreen ** ;************************************* ResetPlayer1 STA RESP0 ; Set Player 0 (X) PlacePlayer1 CPX #8 ; 14 Lines of Sprite Datas Drawn ? BEQ Draw_Playfield ; Yes = Continue Drawing Playfield LDA #Player0_Data,x STA GRP0 DEX JMP PlacePlayer1 ;************************************* ;** Player Sprite Data ** ;************************************* Player0_Data .byte #%00000000 .byte #%01011010 .byte #%01011010 .byte #%01111110 .byte #%00111100 .byte #%01111110 .byte #%11111111 .byte #%11111111 ;************************************* ;** Playfield Data (MAZE 1) ** ;************************************* Screen_PF0 .byte #%11110000 ; Scanline 191 .byte #%10010000 ; Scanline 190 .byte #%10010000 ; Scanline 189 .byte #%10010000 ; Scanline 188 .byte #%10010000 ; Scanline 187 .byte #%10010000 ; Scanline 186 .byte #%10010000 ; Scanline 185 .byte #%10010000 ; Scanline 184 .byte #%10010000 ; Scanline 183 .byte #%10010000 ; Scanline 182 .byte #%10010000 ; Scanline 181 .byte #%10010000 ; Scanline 180 .byte #%10010000 ; Scanline 179 .byte #%10010000 ; Scanline 178 .byte #%10010000 ; Scanline 177 .byte #%10010000 ; Scanline 176 .byte #%10010000 ; Scanline 175 .byte #%10010000 ; Scanline 174 .byte #%10010000 ; Scanline 173 .byte #%10010000 ; Scanline 172 .byte #%10010000 ; Scanline 171 .byte #%10010000 ; Scanline 170 .byte #%10010000 ; Scanline 169 .byte #%00010000 ; Scanline 168 .byte #%00010000 ; Scanline 167 .byte #%00010000 ; Scanline 166 .byte #%00010000 ; Scanline 165 .byte #%00010000 ; Scanline 164 .byte #%00010000 ; Scanline 163 .byte #%00010000 ; Scanline 162 .byte #%00010000 ; Scanline 161 .byte #%00010000 ; Scanline 160 .byte #%00010000 ; Scanline 159 .byte #%00010000 ; Scanline 158 .byte #%00010000 ; Scanline 157 .byte #%00010000 ; Scanline 156 .byte #%00010000 ; Scanline 155 .byte #%00010000 ; Scanline 154 .byte #%00010000 ; Scanline 153 .byte #%00010000 ; Scanline 152 .byte #%00010000 ; Scanline 151 .byte #%10010000 ; Scanline 150 .byte #%10010000 ; Scanline 149 .byte #%10010000 ; Scanline 148 .byte #%10010000 ; Scanline 147 .byte #%10010000 ; Scanline 146 .byte #%10010000 ; Scanline 145 .byte #%10010000 ; Scanline 144 .byte #%10010000 ; Scanline 143 .byte #%10010000 ; Scanline 142 .byte #%10010000 ; Scanline 141 .byte #%10010000 ; Scanline 140 .byte #%10010000 ; Scanline 139 .byte #%10010000 ; Scanline 138 .byte #%10010000 ; Scanline 137 .byte #%10010000 ; Scanline 136 .byte #%10010000 ; Scanline 135 .byte #%10010000 ; Scanline 134 .byte #%10010000 ; Scanline 133 .byte #%10010000 ; Scanline 132 .byte #%10010000 ; Scanline 131 .byte #%10010000 ; Scanline 130 .byte #%10010000 ; Scanline 129 .byte #%10010000 ; Scanline 128 .byte #%10010000 ; Scanline 127 .byte #%10010000 ; Scanline 126 .byte #%10010000 ; Scanline 125 .byte #%10010000 ; Scanline 124 .byte #%10010000 ; Scanline 123 .byte #%10010000 ; Scanline 122 .byte #%10010000 ; Scanline 121 .byte #%10010000 ; Scanline 120 .byte #%10010000 ; Scanline 119 .byte #%10010000 ; Scanline 118 .byte #%10010000 ; Scanline 117 .byte #%10010000 ; Scanline 116 .byte #%10010000 ; Scanline 115 .byte #%10010000 ; Scanline 114 .byte #%10010000 ; Scanline 113 .byte #%10010000 ; Scanline 112 .byte #%10010000 ; Scanline 111 .byte #%10010000 ; Scanline 110 .byte #%10010000 ; Scanline 109 .byte #%10010000 ; Scanline 108 .byte #%10010000 ; Scanline 107 .byte #%10010000 ; Scanline 106 .byte #%10010000 ; Scanline 105 .byte #%00010000 ; Scanline 104 .byte #%00010000 ; Scanline 103 .byte #%00010000 ; Scanline 102 .byte #%00010000 ; Scanline 101 .byte #%00010000 ; Scanline 100 .byte #%00010000 ; Scanline 99 .byte #%00010000 ; Scanline 98 .byte #%00010000 ; Scanline 97 .byte #%00010000 ; Scanline 96 .byte #%00010000 ; Scanline 95 .byte #%00010000 ; Scanline 94 .byte #%00010000 ; Scanline 93 .byte #%00010000 ; Scanline 92 .byte #%00010000 ; Scanline 91 .byte #%00010000 ; Scanline 90 .byte #%00010000 ; Scanline 89 .byte #%00010000 ; Scanline 88 .byte #%00010000 ; Scanline 87 .byte #%00010000 ; Scanline 86 .byte #%10010000 ; Scanline 85 .byte #%10010000 ; Scanline 84 .byte #%10010000 ; Scanline 83 .byte #%10010000 ; Scanline 82 .byte #%10010000 ; Scanline 81 .byte #%10010000 ; Scanline 80 .byte #%10010000 ; Scanline 79 .byte #%10010000 ; Scanline 78 .byte #%10010000 ; Scanline 77 .byte #%10010000 ; Scanline 76 .byte #%10010000 ; Scanline 75 .byte #%10010000 ; Scanline 74 .byte #%10010000 ; Scanline 73 .byte #%10010000 ; Scanline 72 .byte #%10010000 ; Scanline 71 .byte #%10010000 ; Scanline 70 .byte #%10010000 ; Scanline 69 .byte #%10010000 ; Scanline 68 .byte #%10010000 ; Scanline 67 .byte #%10010000 ; Scanline 66 .byte #%10010000 ; Scanline 65 .byte #%10010000 ; Scanline 64 .byte #%10010000 ; Scanline 63 .byte #%10010000 ; Scanline 62 .byte #%10010000 ; Scanline 61 .byte #%10010000 ; Scanline 60 .byte #%10010000 ; Scanline 59 .byte #%10010000 ; Scanline 58 .byte #%10010000 ; Scanline 57 .byte #%10010000 ; Scanline 56 .byte #%10010000 ; Scanline 55 .byte #%10010000 ; Scanline 54 .byte #%10010000 ; Scanline 53 .byte #%10010000 ; Scanline 52 .byte #%10010000 ; Scanline 51 .byte #%10010000 ; Scanline 50 .byte #%10010000 ; Scanline 49 .byte #%10010000 ; Scanline 48 .byte #%10010000 ; Scanline 47 .byte #%10010000 ; Scanline 46 .byte #%10010000 ; Scanline 45 .byte #%10010000 ; Scanline 44 .byte #%10010000 ; Scanline 43 .byte #%10010000 ; Scanline 42 .byte #%10010000 ; Scanline 41 .byte #%10010000 ; Scanline 40 .byte #%10010000 ; Scanline 39 .byte #%00010000 ; Scanline 38 .byte #%00010000 ; Scanline 37 .byte #%00010000 ; Scanline 36 .byte #%00010000 ; Scanline 35 .byte #%00010000 ; Scanline 34 .byte #%00010000 ; Scanline 33 .byte #%00010000 ; Scanline 32 .byte #%00010000 ; Scanline 31 .byte #%00010000 ; Scanline 30 .byte #%00010000 ; Scanline 29 .byte #%00010000 ; Scanline 28 .byte #%00010000 ; Scanline 27 .byte #%00010000 ; Scanline 26 .byte #%00010000 ; Scanline 25 .byte #%00010000 ; Scanline 24 .byte #%00010000 ; Scanline 23 .byte #%00010000 ; Scanline 22 .byte #%00010000 ; Scanline 21 .byte #%00010000 ; Scanline 20 .byte #%10010000 ; Scanline 19 .byte #%10010000 ; Scanline 18 .byte #%10010000 ; Scanline 17 .byte #%10010000 ; Scanline 16 .byte #%10010000 ; Scanline 15 .byte #%10010000 ; Scanline 14 .byte #%10010000 ; Scanline 13 .byte #%10010000 ; Scanline 12 .byte #%10010000 ; Scanline 11 .byte #%10010000 ; Scanline 10 .byte #%10010000 ; Scanline 9 .byte #%10010000 ; Scanline 8 .byte #%10010000 ; Scanline 7 .byte #%10010000 ; Scanline 6 .byte #%10010000 ; Scanline 5 .byte #%10010000 ; Scanline 4 .byte #%10010000 ; Scanline 3 .byte #%10010000 ; Scanline 2 .byte #%11111111 ; Scanline 1 .byte #%11110000 ; Scanline 0 Screen_PF1 .byte #%11111111 ; Scanline 191 .byte #%00000000 ; Scanline 190 .byte #%00000000 ; Scanline 189 .byte #%00000000 ; Scanline 188 .byte #%00000000 ; Scanline 187 .byte #%00000000 ; Scanline 186 .byte #%00000000 ; Scanline 185 .byte #%00000000 ; Scanline 184 .byte #%00000000 ; Scanline 183 .byte #%00000000 ; Scanline 182 .byte #%00000000 ; Scanline 181 .byte #%00000000 ; Scanline 180 .byte #%00000000 ; Scanline 179 .byte #%00000000 ; Scanline 178 .byte #%00000000 ; Scanline 177 .byte #%00000000 ; Scanline 176 .byte #%00111100 ; Scanline 175 .byte #%00100100 ; Scanline 174 .byte #%00100100 ; Scanline 173 .byte #%00100100 ; Scanline 172 .byte #%00100100 ; Scanline 171 .byte #%00100100 ; Scanline 170 .byte #%00100100 ; Scanline 169 .byte #%00100100 ; Scanline 168 .byte #%00100100 ; Scanline 167 .byte #%00100100 ; Scanline 166 .byte #%00100100 ; Scanline 165 .byte #%00100100 ; Scanline 164 .byte #%00100100 ; Scanline 163 .byte #%00100100 ; Scanline 162 .byte #%00100100 ; Scanline 161 .byte #%00100100 ; Scanline 160 .byte #%00100100 ; Scanline 159 .byte #%00100100 ; Scanline 158 .byte #%00100100 ; Scanline 157 .byte #%00100100 ; Scanline 156 .byte #%00100100 ; Scanline 155 .byte #%00100100 ; Scanline 154 .byte #%00100100 ; Scanline 153 .byte #%00100100 ; Scanline 152 .byte #%00100100 ; Scanline 151 .byte #%00100100 ; Scanline 150 .byte #%00100100 ; Scanline 149 .byte #%00100100 ; Scanline 148 .byte #%00100100 ; Scanline 147 .byte #%00100100 ; Scanline 146 .byte #%00100100 ; Scanline 145 .byte #%00100100 ; Scanline 144 .byte #%00100100 ; Scanline 143 .byte #%00100100 ; Scanline 142 .byte #%00100100 ; Scanline 141 .byte #%00100100 ; Scanline 140 .byte #%00000100 ; Scanline 139 .byte #%00000100 ; Scanline 138 .byte #%00000100 ; Scanline 137 .byte #%00000100 ; Scanline 136 .byte #%00000100 ; Scanline 135 .byte #%00000100 ; Scanline 134 .byte #%00000100 ; Scanline 133 .byte #%00000100 ; Scanline 132 .byte #%00000100 ; Scanline 131 .byte #%00000100 ; Scanline 130 .byte #%00000100 ; Scanline 129 .byte #%00000100 ; Scanline 128 .byte #%00000100 ; Scanline 127 .byte #%00000100 ; Scanline 126 .byte #%00000100 ; Scanline 125 .byte #%00000100 ; Scanline 124 .byte #%00000100 ; Scanline 123 .byte #%00100100 ; Scanline 122 .byte #%00100100 ; Scanline 121 .byte #%00100100 ; Scanline 120 .byte #%00100100 ; Scanline 119 .byte #%00100100 ; Scanline 118 .byte #%00100100 ; Scanline 117 .byte #%00100100 ; Scanline 116 .byte #%00100100 ; Scanline 115 .byte #%00100100 ; Scanline 114 .byte #%00100100 ; Scanline 113 .byte #%00100100 ; Scanline 112 .byte #%00100100 ; Scanline 111 .byte #%00100100 ; Scanline 110 .byte #%00100100 ; Scanline 109 .byte #%00100100 ; Scanline 108 .byte #%00100100 ; Scanline 107 .byte #%00100100 ; Scanline 106 .byte #%00100100 ; Scanline 105 .byte #%00100000 ; Scanline 104 .byte #%00100000 ; Scanline 103 .byte #%00100000 ; Scanline 102 .byte #%00100000 ; Scanline 101 .byte #%00100000 ; Scanline 100 .byte #%00100000 ; Scanline 99 .byte #%00100000 ; Scanline 98 .byte #%00100000 ; Scanline 97 .byte #%00100000 ; Scanline 96 .byte #%00100000 ; Scanline 95 .byte #%00100000 ; Scanline 94 .byte #%00100000 ; Scanline 93 .byte #%00100000 ; Scanline 92 .byte #%00100000 ; Scanline 91 .byte #%00100000 ; Scanline 90 .byte #%00100000 ; Scanline 89 .byte #%00100000 ; Scanline 88 .byte #%00100000 ; Scanline 87 .byte #%00100000 ; Scanline 86 .byte #%00100100 ; Scanline 85 .byte #%00100100 ; Scanline 84 .byte #%00100100 ; Scanline 83 .byte #%00100100 ; Scanline 82 .byte #%00100100 ; Scanline 81 .byte #%00100100 ; Scanline 80 .byte #%00100100 ; Scanline 79 .byte #%00100100 ; Scanline 78 .byte #%00100100 ; Scanline 77 .byte #%00100100 ; Scanline 76 .byte #%00100100 ; Scanline 75 .byte #%00100100 ; Scanline 74 .byte #%00100100 ; Scanline 73 .byte #%00000100 ; Scanline 72 .byte #%00000100 ; Scanline 71 .byte #%00000100 ; Scanline 70 .byte #%00000100 ; Scanline 69 .byte #%00000100 ; Scanline 68 .byte #%00000100 ; Scanline 67 .byte #%00000100 ; Scanline 66 .byte #%00000100 ; Scanline 65 .byte #%00000100 ; Scanline 64 .byte #%00000100 ; Scanline 63 .byte #%00000100 ; Scanline 62 .byte #%00000100 ; Scanline 61 .byte #%00000100 ; Scanline 60 .byte #%00000100 ; Scanline 59 .byte #%00000100 ; Scanline 58 .byte #%00000100 ; Scanline 57 .byte #%00000100 ; Scanline 56 .byte #%00000100 ; Scanline 55 .byte #%00100100 ; Scanline 54 .byte #%00100100 ; Scanline 53 .byte #%00100100 ; Scanline 52 .byte #%00100100 ; Scanline 51 .byte #%00100100 ; Scanline 50 .byte #%00100100 ; Scanline 49 .byte #%00100100 ; Scanline 48 .byte #%00100100 ; Scanline 47 .byte #%00100100 ; Scanline 46 .byte #%00100100 ; Scanline 45 .byte #%00100100 ; Scanline 44 .byte #%00100100 ; Scanline 43 .byte #%00100100 ; Scanline 42 .byte #%00100100 ; Scanline 41 .byte #%00100100 ; Scanline 40 .byte #%00100100 ; Scanline 39 .byte #%00100100 ; Scanline 38 .byte #%00100100 ; Scanline 37 .byte #%00100100 ; Scanline 36 .byte #%00100100 ; Scanline 35 .byte #%00100100 ; Scanline 34 .byte #%00100100 ; Scanline 33 .byte #%00100100 ; Scanline 32 .byte #%00100100 ; Scanline 31 .byte #%00100100 ; Scanline 30 .byte #%00100100 ; Scanline 29 .byte #%00100100 ; Scanline 28 .byte #%00100100 ; Scanline 27 .byte #%00100100 ; Scanline 26 .byte #%00100100 ; Scanline 25 .byte #%00100100 ; Scanline 24 .byte #%00100100 ; Scanline 23 .byte #%00100100 ; Scanline 22 .byte #%00100100 ; Scanline 21 .byte #%00100100 ; Scanline 20 .byte #%00100100 ; Scanline 19 .byte #%00100100 ; Scanline 18 .byte #%00100100 ; Scanline 17 .byte #%00100100 ; Scanline 16 .byte #%00100100 ; Scanline 15 .byte #%00111100 ; Scanline 14 .byte #%00000000 ; Scanline 13 .byte #%00000000 ; Scanline 12 .byte #%00000000 ; Scanline 11 .byte #%00000000 ; Scanline 10 .byte #%00000000 ; Scanline 9 .byte #%00000000 ; Scanline 8 .byte #%00000000 ; Scanline 7 .byte #%00000000 ; Scanline 6 .byte #%00000000 ; Scanline 5 .byte #%00000000 ; Scanline 4 .byte #%00000000 ; Scanline 3 .byte #%00000000 ; Scanline 2 .byte #%11111111 ; Scanline 1 .byte #%00000000 ; Scanline 0 Screen_PF2 .byte #%11111111 ; Scanline 191 .byte #%00000001 ; Scanline 190 .byte #%00000001 ; Scanline 189 .byte #%00000001 ; Scanline 188 .byte #%00000001 ; Scanline 187 .byte #%00000001 ; Scanline 186 .byte #%00000001 ; Scanline 185 .byte #%00000001 ; Scanline 184 .byte #%00000001 ; Scanline 183 .byte #%00000001 ; Scanline 182 .byte #%00000001 ; Scanline 181 .byte #%00000001 ; Scanline 180 .byte #%00000001 ; Scanline 179 .byte #%00000001 ; Scanline 178 .byte #%00000001 ; Scanline 177 .byte #%00000001 ; Scanline 176 .byte #%01111001 ; Scanline 175 .byte #%00001001 ; Scanline 174 .byte #%00001001 ; Scanline 173 .byte #%00001001 ; Scanline 172 .byte #%00001001 ; Scanline 171 .byte #%00001001 ; Scanline 170 .byte #%00001001 ; Scanline 169 .byte #%00001000 ; Scanline 168 .byte #%00001000 ; Scanline 167 .byte #%00001000 ; Scanline 166 .byte #%00001000 ; Scanline 165 .byte #%00001000 ; Scanline 164 .byte #%00001000 ; Scanline 163 .byte #%11001000 ; Scanline 162 .byte #%01001000 ; Scanline 161 .byte #%01001000 ; Scanline 160 .byte #%01001000 ; Scanline 159 .byte #%01001000 ; Scanline 158 .byte #%01001000 ; Scanline 157 .byte #%01001000 ; Scanline 156 .byte #%01001000 ; Scanline 155 .byte #%01001000 ; Scanline 154 .byte #%01001000 ; Scanline 153 .byte #%01001000 ; Scanline 152 .byte #%01001000 ; Scanline 151 .byte #%01001001 ; Scanline 150 .byte #%01001001 ; Scanline 149 .byte #%01001001 ; Scanline 148 .byte #%11001001 ; Scanline 147 .byte #%00001001 ; Scanline 146 .byte #%00001001 ; Scanline 145 .byte #%00001001 ; Scanline 144 .byte #%00001001 ; Scanline 143 .byte #%00001001 ; Scanline 142 .byte #%00001001 ; Scanline 141 .byte #%00001001 ; Scanline 140 .byte #%00001001 ; Scanline 139 .byte #%00001001 ; Scanline 138 .byte #%00001001 ; Scanline 137 .byte #%00001001 ; Scanline 136 .byte #%00111001 ; Scanline 135 .byte #%00001001 ; Scanline 134 .byte #%00001001 ; Scanline 133 .byte #%00001001 ; Scanline 132 .byte #%00001001 ; Scanline 131 .byte #%00001001 ; Scanline 130 .byte #%00001001 ; Scanline 129 .byte #%00001001 ; Scanline 128 .byte #%00001001 ; Scanline 127 .byte #%00001001 ; Scanline 126 .byte #%00001001 ; Scanline 125 .byte #%00001001 ; Scanline 124 .byte #%00001001 ; Scanline 123 .byte #%11001001 ; Scanline 122 .byte #%01001001 ; Scanline 121 .byte #%01001001 ; Scanline 120 .byte #%01001001 ; Scanline 119 .byte #%01001001 ; Scanline 118 .byte #%01001001 ; Scanline 117 .byte #%01001001 ; Scanline 116 .byte #%01001001 ; Scanline 115 .byte #%01001001 ; Scanline 114 .byte #%01001001 ; Scanline 113 .byte #%01001001 ; Scanline 112 .byte #%01001001 ; Scanline 111 .byte #%01001001 ; Scanline 110 .byte #%01001001 ; Scanline 109 .byte #%01001001 ; Scanline 108 .byte #%01001001 ; Scanline 107 .byte #%01001001 ; Scanline 106 .byte #%01001001 ; Scanline 105 .byte #%01000001 ; Scanline 104 .byte #%01000001 ; Scanline 103 .byte #%01000001 ; Scanline 102 .byte #%01000001 ; Scanline 101 .byte #%01000001 ; Scanline 100 .byte #%01000001 ; Scanline 99 .byte #%01000001 ; Scanline 98 .byte #%01000001 ; Scanline 97 .byte #%01000001 ; Scanline 96 .byte #%01000001 ; Scanline 95 .byte #%01000001 ; Scanline 94 .byte #%01000001 ; Scanline 93 .byte #%01000001 ; Scanline 92 .byte #%01000001 ; Scanline 91 .byte #%01000001 ; Scanline 90 .byte #%01000001 ; Scanline 89 .byte #%01000001 ; Scanline 88 .byte #%01000001 ; Scanline 87 .byte #%01000001 ; Scanline 86 .byte #%01000001 ; Scanline 85 .byte #%01001001 ; Scanline 84 .byte #%01001001 ; Scanline 83 .byte #%01001001 ; Scanline 82 .byte #%01001001 ; Scanline 81 .byte #%01001001 ; Scanline 80 .byte #%01001001 ; Scanline 79 .byte #%01001001 ; Scanline 78 .byte #%01001001 ; Scanline 77 .byte #%01001001 ; Scanline 76 .byte #%01001001 ; Scanline 75 .byte #%01001001 ; Scanline 74 .byte #%01001001 ; Scanline 73 .byte #%01001001 ; Scanline 72 .byte #%01001001 ; Scanline 71 .byte #%01001001 ; Scanline 70 .byte #%01001001 ; Scanline 69 .byte #%01001001 ; Scanline 68 .byte #%01001001 ; Scanline 67 .byte #%11001001 ; Scanline 66 .byte #%00001001 ; Scanline 65 .byte #%00001001 ; Scanline 64 .byte #%00001001 ; Scanline 63 .byte #%00001001 ; Scanline 62 .byte #%00001001 ; Scanline 61 .byte #%00001001 ; Scanline 60 .byte #%00001001 ; Scanline 59 .byte #%00001001 ; Scanline 58 .byte #%00001001 ; Scanline 57 .byte #%00001001 ; Scanline 56 .byte #%00001001 ; Scanline 55 .byte #%00001001 ; Scanline 54 .byte #%00111001 ; Scanline 53 .byte #%00001001 ; Scanline 52 .byte #%00001001 ; Scanline 51 .byte #%00001001 ; Scanline 50 .byte #%00001001 ; Scanline 49 .byte #%00001001 ; Scanline 48 .byte #%00001001 ; Scanline 47 .byte #%00001001 ; Scanline 46 .byte #%00001001 ; Scanline 45 .byte #%00001001 ; Scanline 44 .byte #%00001001 ; Scanline 43 .byte #%00001001 ; Scanline 42 .byte #%00001001 ; Scanline 41 .byte #%11001001 ; Scanline 40 .byte #%01001001 ; Scanline 39 .byte #%01001000 ; Scanline 38 .byte #%01001000 ; Scanline 37 .byte #%01001000 ; Scanline 36 .byte #%01001000 ; Scanline 35 .byte #%01001000 ; Scanline 34 .byte #%01001000 ; Scanline 33 .byte #%01001000 ; Scanline 32 .byte #%01001000 ; Scanline 31 .byte #%01001000 ; Scanline 30 .byte #%01001000 ; Scanline 29 .byte #%01001000 ; Scanline 28 .byte #%01001000 ; Scanline 27 .byte #%11001000 ; Scanline 26 .byte #%00001000 ; Scanline 25 .byte #%00001000 ; Scanline 24 .byte #%00001000 ; Scanline 23 .byte #%00001000 ; Scanline 22 .byte #%00001000 ; Scanline 21 .byte #%00001000 ; Scanline 20 .byte #%00001001 ; Scanline 19 .byte #%00001001 ; Scanline 18 .byte #%00001001 ; Scanline 17 .byte #%00001001 ; Scanline 16 .byte #%00001001 ; Scanline 15 .byte #%00001001 ; Scanline 14 .byte #%01111001 ; Scanline 13 .byte #%00000001 ; Scanline 12 .byte #%00000001 ; Scanline 11 .byte #%00000001 ; Scanline 10 .byte #%00000001 ; Scanline 9 .byte #%00000001 ; Scanline 8 .byte #%00000001 ; Scanline 7 .byte #%00000001 ; Scanline 6 .byte #%00000001 ; Scanline 5 .byte #%00000001 ; Scanline 4 .byte #%00000001 ; Scanline 3 .byte #%00000001 ; Scanline 2 .byte #%11111111 ; Scanline 1 .byte #%00000000 ; Scanline 0 ;************************************* ;** End of Coding ** ;************************************* ORG #$FFFA InterruptVectors .word Reset ;NMI .word Reset ;RESET .word Reset ;IRQ END I would appreciate any suggestions as to what I am doing wrong. I also noticed that joystick routines are missing from Andrew's tutorials. Are there any tutorials available that deal with reading the joystick ports? Thanks in advance! I would share the binary file I have but I can't remember how to share it on Atari Age.
  21. I have to agree with this. Maybe the city officials plan on selling them in bits and pieces to help bring in some money into the city. Would not be a bad idea and I did see a VCS box (looked like a Darth Vader unit) in a few other videos. E.T. just because it was one game that pretty much started the legend and a VCS, working or not, and I'd be happy. Would I sell them? Are you crazy?!? I'd hang on to them and enjoy them. I'd most likely try to fix any VCS I got from the landfill just because that is what I enjoy doing...fixing electronics. That's my two cents on that. If there are any 5200 controllers in that pile and maybe a 5200 Trak Ball, I'd be all in. Bury me in that landfill with a TV and I would have a decent collection of Atari stuff
  22. The only dev kit I have ever discovered online was for the 7800. I have not seen one for the 2600. To my understanding, any Atari 2600 program in development was done on a computer (not exactly sure on what kind) and prototype code was taken to a lab that would burn the program to an EEPROM for testing on an actual 2600. I don't really think that a dev card was made for the 2600 but I might be wrong so don't quote me on that. The 7800 dev kit, if someone really wanted to go all out, might be able to be modified slightly for 2600 development. But it might be easier, not necessarily cheaper, to obtain something like a Maxi Cart that can accept SD cards. Simply create your code, place it on the SD, slap the SD into the Maxi Cart, and plug it into a real 2600. Either that or obtain a Supercharger. That's about the only methods I have heard most other developers talk about in other posts.
  23. OK. More newbie questions. Is it possible to draw the sprite after the playfield has been drawn? Do any sprites have to be drawn while the playfield is being drawn? I'm only asking because of a few things. I was under the impression that once the playfield had been drawn it would stay there. I assume this is on a per scanline basis and not an entire screen, correct? I've been trying to understand the joystick registers. That is one area that Andrew's tutorial I don't believe talked about. How are those registers detected? Thanks again for the help!
  24. Haha! I finally got it!! Well, the playfield anyway. And to make it easier to compare: It's not exactly how I wanted it but I'm happy with the outcome of the "maze" portion. I think I'm going to make this official that this is a WIP. I haven't been able find any jobs since I graduated college and I love to program no matter what it is I'm programming. So, I will make this project my job until something else comes along. I know I still have some things that need to be learned but I will do like the original 2600 developers did...learn as I go. I'm not going to learn otherwise. I could read the books and tutorials all day long for a year solid but I do best when I play around with some code and see the effects. I may need help again along the way but, hey, it's part of being a programmer. And...I did read the Machine Language for Beginners book a long time ago. I still have it, plus 98 other Atari 8-Bit programming books, on my computer. I've got plenty of knowledge in those but I have discovered the best knowledge comes from other people who can share their experiences. The 2600 is an interesting system. It's amazing that it works at all. I have gained a better appreciation for the console and for the ex-Atari employees that had to work with this system without the tools we have today. So, thank you to all those that have helped out already
  25. Is this cart still being made? Could use one for testing my programming efforts on a real 2600.
×
×
  • Create New...