Jump to content

calamari

Members
  • Content Count

    369
  • Joined

  • Last visited

Everything posted by calamari

  1. Cafeman, Okay that decides it! I'll write that music editor for ya tonight then. calamari
  2. Maybe I should write a music editor for my POK music format. I've been thinking about how to add distortion effects (for instruments) without making songs larger that don't need the effects, and I have a few ideas on how it can be done within the existing framework (the player would need to be modified, but that's not big deal) What would be interesting is having someone catalog some of their favorite Pokey effects into a sort of instrument library. That way it would be possible to select "Square wave" or "Bass drum" instead of distortion effect "$D7" (of course the option would always be available to type it in). Currently my custom format can support up to 4 square wave tones at once, sixteeth note resolution, notes from C-3 through C-6, and adjustable length measures (up to 4.25 seconds long, as short as approx 1/60 a second). Only repetitive music really benefits from a tracked format. And, if I made a tracker, the music format would have to be redesigned (support for loops, a pattern table, etc) and that would add overhead for features that probably wouldn't be used. I've always meant to do some testing on my XL to see what kind of musical sounds could be made. Unfortunately, I am no good on identifying musical instruments, so that's why I ask for a Pokey instrument library Or maybe not.. who knows what I'll work on.. I don't even know sometimes calamari
  3. No way! The 5200 is one of the few decent systems out there! It has the highest good to bad game ratio of any system I can think of. If controllers are a hangup, check out the 5200 Wicos, or do one of the several joystick conversions (fake masterplay, PC joystick). If you can find a trak-ball, that's great too (the buttons keep working ! If the switchbox is a hangup get the 2 port version, or make one. So yeah, if there is no effort made I can see how one would hate the system, but really: arcade remakes that are sometimes better than the originals (and exclusives like Space Dungeon), decent graphics and sound, and two button analog controls! What is not to love about the Atari 5200? calamari
  4. MIDI2POK won't convert MP3's, just midi's. However, there are a LOT of midi's out there on the web free for the taking, and you will probably even find the song you are looking for. Check out http://www.midifarm.com for starters. You will probably also want a midi editing program such as Cakewalk or Midi Studio.. you'd use the editor to isolate the 5-10 seconds of song you wanted and to make sure it's only playing 4 notes at any one time. If you find the midi you need, let me know and I can help with editing. calamari
  5. If you add 60h to B0h it will give you 10h as the answer. Try it on DanB's VSS emulator (debug version). You can press F8 to get to debug mode and single step thru the code to see exactly what is happening. calamari
  6. Found this piece of code on the web. It was originally from a book called "Universal Assembly Language", optimized by Todd P. Whitesel, and customized by me. Hope you find this useful code: TEMPH .EQU $FF TEMPL .EQU $FE ;--------------------------------------------- ; DIVIDE -- TEMPL remainder A = X/Y ; from public domain code by Todd P. Whitesel ;--------------------------------------------- DIVIDE STY TEMPH STX TEMPL LDX #$08 LDA #$00 ASL TEMPL DIV1 ROL A CMP TEMPH BCC DIV2 SBC TEMPH DIV2 ROL TEMPL DEX BNE DIV1 RTS calamari
  7. I just realized a fatal flaw with the idea of setting breakpoints: the ROM is read only. I won't be able to set them. oh well calamari
  8. OK! I've started a 5200 Tempest message board on Network54. We can post there to avoid spamming AtariAge with source code listings and nonsense . Of course everyone is welcome to visit or contribute! http://www.network54.com/Hide/Forum/186689 calamari
  9. Cafeman, Ahh.. thanks! I didn't realize classicgaming.com even had a message board. calamari
  10. Anyone else? Moycon may end up getting a one-of-a-kind cart here! I guess that would be interesting too Even if there is no more response, I'll still finish the game because *I* want to play it.. hehehe. calamari
  11. With Spring Break coming up this would be the perfect time to do some questionable recreational DMCA-breaking activities I'll see what I can get done tonight after school.. I got a little refresher course messing with 5200 Baseball the other day. calamari [ 03-07-2002: Message edited by: calamari ]
  12. I was trying to think of where I could put the new functions for the possible 16k version and if I used Shift-0 that gives another slot.. then I'd also have Shift-7 thru Shift-9. So, without complicating things too much I can add 4 new functions! I've been giving a bit of thought to how I can re-enter the debugger and then exit again without disturbing the game code. I can save registers, the IRQs and character set offsets and current IP on the stack.. as far as the flags go, I'm thinking maybe I can use a few branches at the very beginning to figure out which flags were set, then manually reconstruct those flag conditions before exiting again. If you know of an easier way to do the flags let me know One thing I'm not too sure on how to do is to return back to the same place in the TV scan/display list as the program was in before. Any ideas on this? Maybe there is an ANTIC or GTIA register I could read for the value then put in a waiting loop when exiting? calamari [ 03-07-2002: Message edited by: calamari ]
  13. I bet if we all worked together we could disassemble and understand the program, then get it to a fully functional game! I could get a raw copy ready and we could go from there. One idea might be with HTTP uploading, but I have very little knowledge of advanced HTTP procedures.. If we could all work on the code in a centralized location then there wouldn't need to be any duplication of efforts.. For example if I could edit a line right on the webpage and save the change then others could see that change the next time they refreshed or went back to the page. I would think something like that could enable some pretty effective collaboration. calamari
  14. I've always wanted to play Space Paranoids (Tron), but I guess that doesn't fit the definition because it wasn't released as a game calamari
  15. Hi, This post is along the same lines as Cafeman's query. I'd like to get an idea of the number of carts I should make. So, if you plan on definitely ordering a 'Solitaire cart when it's ready, please shoot me an E-mail. If you would mention Solitaire in the title that'd be great!: [email protected] My plan is to individually sign and number each cartridge as a one time run, as well as providing cartridge buyers with an exclusive copy of the source code. Final cartridge price will depend on several factors, and is subject to change, but I'm hoping to sell each for less than $30. For you emulator lovers out there I will make the final ROM available some time AFTER the cartridges are all sold. Thanks! calamari P.S. I am also considering a manual, let me know in your e-mail if you'd be willing to pay a little extra for a nicely printed manual and I'll make a decision on that . [ 03-06-2002: Message edited by: calamari ]
  16. Leave the capacitor in C1 (next to the 28-pin socket), take out the capacitor in C2 (24-pin socket), if any. calamari
  17. Just curious.. has anyone tried out DEBUG52? I'd be curious to hear any reactions. I thought of one possible improvement. I could narrow the ROM down to a 16k version. Then it could be bundled with 16k games and used to investigate them on the 5200. I should be able to add a few options to enable single step mode, breakpoints, or be able to run to a certain address (I'd have to experiment, but from what I understand you can trigger an interrupt when the CPU encounters a BRK instruction). This would bring functionality of the DEBUG52 program above what is seen in the current emulator monitors. Would anyone be interested in seeing this implemented? Let me know. Thanks, calamari
  18. Maybe, then again maybe not.. look for an instruction that might jump to that 2nd test. calamari
  19. Try out Antic E, you can have 4 colors, 160x192 resolution, no artifacting required. calamari
  20. Hi, Dunno what got into me, but I added the disassembler anyways! Hopefully I'll have the sense to stop here I also improved the keypad response using my new code. DEBUG52 version 1.10 can be downloaded from: http://www.azstarnet.com/~jeffryj/5200bas.html calamari
  21. Go ahead and try it! if it works, please share with the rest of us So far, this is all I have found that works. calamari
  22. DEBRO, Okay, let me try again! Take a look at the code while you read this, too. You're right, we aren't going to use any debounce circuitry (I tried setting that debounce enable bit and it would lock up the keypad on the real 5200). So, that means we have to make our own little debouncer algorithm. The first step to doing that is understanding where the problems are and what we want to happen instead. 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. And there is no interrupt that is fired when a key is released, so it would seem that we are out of options... except we can use time to our advantage. Have you ever used a tape recorder with the little counter on it, where if you push the button it resets the counter to all zeros, then if you let go it starts counting upward again? That's exactly what we are going to do. When a keypad button is held it continually sets our fake debounce counter to 3. Then, when we let go of the keypad button the vertical blanking interrupt subtracts 1 from it each time it's called (every 1/60th of a second or so). So, if a key is not pushed then this counter will eventually hit zero, but it will take time to do so. When we are deciding whether to accept a new keystroke or not, first we'll check this counter.. if its zero, then we are pretty sure there is no key being held so we accept the new key. If its not zero, then the key might still be held.. but, if the key is different from last time then the last one its obviously not being held so we accept the new key. Otherwise, the new key is rejected. Hope that helps, calamari
  23. Woohoo!! I found what I needed in the Atari System Reference Manual, Chapter 5 "THE KEYBOARD HANDLER". When the Keypad IRQ is entered., what you do is check to see if this key is the same as the last key. If not, cool, accept the key and go on. If it's the same, check a debounce counter (we make this ourselves). If this counter is zero, then the key is accepted, otherwise its discarded as a held down key. In all cases of entry into the Keypad IRQ the debounce is reset to 3 (you can experiment with other values but this seems okay). This resets the counter.. so when a key is held down this will always be 3. Now, in the deferred VBI, the debounce counter is decremented until its zero, one step at a time (3 2 1 0). If my math is correct, this means once you let go of a key, you have to wait 1/20 of a second before pushing it again. Considering the 5200 keypads, this should not be a serious problem Here is source code for the Keypad DLI and deferred VBI routines. This code has been tested and is working great on the real 5200!: code: ; Zero page equates KEY .EQU $2A ; this is similar to the Atari 800 CH KEYLAST .EQU $2B KEYDB .EQU $2C ;--------------------------------------------------------------------- ; KEYPAD -- Keypad buffer handler ; On entry: A=key just pressed ;--------------------------------------------------------------------- .ORG $BC00 CMP KEYLAST ;same key as last time? BNE KEYOK LDX KEYDB ;same key, check debounce timer BNE KEYDONE ;if debounce isn't 0, reject the key KEYOK STA KEY STA KEYLAST ;store keypress KEYDONE LDA #$03 ;reset debounce timer STA KEYDB PLA TAY ;POP Y PLA TAX ;POP X PLA ;POP A RTI ;--------------------------------------------------------------------- ; Deferred VBI handler ;--------------------------------------------------------------------- .ORG $BC20 LDA KEYDB ;check key debounce counter BEQ VBIDONE ;if zero, skip DEC KEYDB ;otherwise decrease by one VBIDONE PLA TAY ;POP Y PLA TAX ;POP X PLA ;POP A RTI I'm glad that's finally out of the way! calamari [ 03-04-2002: Message edited by: calamari ]
  24. Hi, I've made a debugger for the Atari 5200. You can view or modify memory, run programs, etc! I was about to add a disassembler, but I stopped before I went overboard Let me know if you need that and I can put it in. This can be run on an emulator but is most effective on the real hardware. Get it here: http://www.azstarnet.com/~jeffryj/5200bas.html Have fun! calamari p.s. I'm still using a less effective keypad routine (it prevents repeats but sometimes misses characters you type). Anyone know how to write a good key repeat prevention routine? I know it's possible, take a look at the intro screen for 5200 Baseball. I appreciate any advice in this area.. Thanks! [ 03-03-2002: Message edited by: calamari ]
  25. After almost a month 5200BAS version 1.50 is here! I was still not able to include everything I wanted to this time around. I have been busy with school and I get side-tracked with other projects! * New/modified commands: ATTRACT, KEYPAD FIX, INKEY, INPUT, PRINT * Fix: OR / XOR typo bug * Fix: SCREEN(var,var) was multiplying the line by 0 instead of 40 * Added keypad repeat fix via VBI.. can still use improvement * Internal MOVEUP command now clears the bottom screen line on scroll (affects PRINT) * Error reporting routine now displays the line in question * Added /16 swtich for creating 16k ROMs (sets $8000 starting addr.) The online documentation has NOT yet been updated to reflect the changes in this release, but will be shortly! Download from: http://www.azstarnet.com/~jeffryj/5200bas.html calamari
×
×
  • Create New...