Jump to content

mono

Members
  • Content Count

    118
  • Joined

  • Last visited

Community Reputation

42 Excellent

About mono

  • Rank
    Chopper Commander
  1. $D20B is POTGO (W) register. $D20C is used by SIO FIFO:
  2. Great work! Thanks. Tiny note - could you address the second POKEY too with the same values as first one?
  3. TMC2 by Jaskier supports four POKEY-s IIRC.
  4. I'd like to buy two pieces.
  5. Thank you for detailed explanation.
  6. Thanks MaPa. So should it be working fine with similar code on NMI service routine too? nmiroutine: asl NMIST scc jmp (VDSLST) smi rti pha txa pha tya pha cld jmp (VVBLKI) Or if execution of VBLKI routine is prevented in dependency on NMIST status (when we don't use NMIVEC but VBLKI).
  7. Isn't following code enough to solve the problem? irqroutine: asl NMIST ;reset NMIRES too scc jmp (VDSLST) bpl ?irq pha txa pha tya pha cld ;not necessary if IRQVEC is used jmp (VVBLKI) ?irq ... ;irq stuff Correct me if I'm wrong, but RMW ASL should reset NMI flag and prevents to call NMI twice.
  8. 1. davidcalgary29 - 1 cart 2. xrbrevin - 1 cart 3. skriegel - 2 carts 4. mchorvat - 1 cart 5. brenski - 1 cart 6. AtariSociety - 1 cart 7. Mathy - 2 carts 8. Haightc - 1 cart 9. Markk - 1 cart 10. Sleepy - 2 carts 11. Nezgar - 1 cart 12. Gunstar - 1 cart 13. Chaosfaktor - 1 cart 14. Wadeford - 1 cart 15. sanny - 1 cart 16. DNA128k - 1 cart 17. Senor Rossie - 3 carts 18. KlasO - 2 carts 19. NML32 - 1 cart 20. CharlieChaplin - 1 cart. 21. slx - 1 cart 22. David_P - 1 cart 23. Rainier - 1 cart 24. AtariPortal - 2 carts 25. patjomki - 1 cart 26. Allan - 1 cart 27. Toddtmw 1 cart 28. TheNameOfTheGame 1 cart 29. adam242 1 cart 30. Dan Winslow - 2 carts 31. Jinroh - 1 Cart 32. Philsan - 1 Cart 33. Lastic - 1 Cart 34. invisible kid - 1 cart 35. gozar- 1 Cart 36. pixelmischief - 1 cart 37. BigBen - 1 cart 38. Soulbuster 1 Cart 39. Ransom - 1 cart 40. TemplarXB - 1 cart 41. tuf - 1 cart 42. mariusz - 1 cart 43. leech - 1 cart 44. Firedawg - 1 cart 45. mani - 2 carts 46. code_blazer - 2 carts 46. Defender II - 2 carts 47. Curt Vendel - 2 carts 48. massiverobot - 1 pbi device 49. fandenivoldsk - 1 cart 50. sdewalt - 3 carts 51. panamajoe - 1 cart 52. Sugarland 1 cart 53. pedgarcia - 1 cart 54. JoSch - 1 cart 55. Mono - 2 carts
  9. I have never measure voltage levels on video port. Maybe it's unconnected in Atari. Pinout description was added to Atariki by Sikor - maybe he'll be able to confirm (or disconfirm).
  10. Mainly CPU clock - 1.7815 MHz (a bit between PAL and NTSC ones), max 120 colors (instead 256), 8 luminance levels (instead 16) in GTIA modes, different video output socket (DIN6 instead DIN5) with SECAM standard signals. Curiosity is the DIN6 (http://atariki.krap.pl/index.php/Gniazdo_monitorowe) has two audio signal pins. Datasheet is here: http://ftp.pigwa.net/stuff/collections/nir_dary_cds/Tech%20Info/FGTIA.PDF
  11. @MrFish: What do you think about introduction to your table informations about supported TV system (PAL/SECAM/NTSC maybe with revision included). There are a few variants of video chip - CTIA, GTIA and FGTIA (800XL and 130XE models for French market) differing with number of colours and base system clock. There is Arabic Atari "The Star" too which supports right-to-left text printing and arabic charset (differences in OS).
  12. built-in BASIC (XL/XE) built-in game (XEGS) external keyboard (XEGS) LEDS (1200XL) function keys (1200XL) built-in additional RAM (130XE) 4 joystick ports (400/800) right cartridge slot (800) separate cartridge slot (XL) - XL series has separate PBI and separate CART slot so you can use both NewDevice and cartridge in parallel; XE series has only ECI and CART slots that makes together replacement of PBI, so you can use either NewDevice connected by both CART+ECI slots or cartridge connected by CART slot built-in buzzer (400/800)
  13. My apologies. I've read your post too quick and thought your main problem is loading the binary file.
  14. It would be better to: Set RUNAD ($2E0) address to 0. Read first 2 bytes (FFFF). Read next 2 bytes - use to determine start load address Set INITAD ($2E2) address to 0. Read next 2 bytes – use to determine end of block address (to be honest this is address of last byte of block) and length of segment (end+1-start). Read next X (segment length) bytes. Call INITAD address (if it has value different than 0). Read next two bytes – if FFFF assume new segment and start back at step 3, in the opposite case assume it as a start of new block address and go to step 4. Call RUN address (if it has a value different than 0) when End Of File met. The problem is that the only first block must be prepended by $FFFF identifier - it's optional for every following blocks. So we can have following file structure: $FF $FF $00 $40 $FF $5F $xx... - $2000 bytes because $5FFF+1-$4000=$2000 $00 $20 $7F $20 $xx... - $80 bytes loaded at $2000 $FF $FF $E2 $02 $E3 $02 $00 $20 - INIT addres is $2000 beause it's loaded into INITAD ($2E2) vector $E0 $02 $E1 $02 $00 $40 - RUN address is $4000 because it's loaded into RUNAD ($2E0) vector EOF It's possible to have many INIT and RUN blocks, but every INIT should be executed when just loaded, and the only last RUN block is executed on EOF.
×
×
  • Create New...