-
Content Count
184 -
Joined
-
Last visited
Content Type
Profiles
Member Map
Forums
Blogs
Gallery
Calendar
Store
Everything posted by ZZTOP SOFT
-
Williams sound board disassembly
ZZTOP SOFT replied to potatohead's topic in Classic Console Discussion
Hi. I'm trying to add "attract mode" to my Gorgar, as Firepower have it. Can you share info? I Know asm and already pass disassembler damsx to green1 green2 and U14 game code. Z -
Running at D1XX.
-
Here the schematic for a extra PIA: Here the interaction between the 800XL and PIA and how I connect the second one. Dashed line for D500 or D100 to choose. both address work fine for me, but if D500 is used, you can't run the cartridge. So, you can put another PIA! One in D100, two in D300 (standard) and three at D500. Also two extra outputs at CA2 and CB2! __________________________________________ Here PIA 2 setup at D500 ALL PORT-A INPUT 1 POKE 54530,56 2 POKE 54528,0 3 POKE 54530,60 Now PIA is ready to GET data 4 DATA=PEEK(54528) ALL PORT-A OUTPUT 1 POKE 54530,56 2 POKE 54528,255 3 POKE 54530,60 Now PIA is ready to PUT data 4 POKE 54528,DATA --------------------- ALL PORT-B INPUT 1 POKE 54531,56 2 POKE 54529,0 3 POKE 54531,60 Now PIA is ready to GET data 4 DATA=PEEK(54529) ALL PORT-B OUTPUT 1 POKE 54531,56 2 POKE 54529,255 3 POKE 54531,60 Now PIA is ready to PUT data 4 POKE 54529,DATA
-
Here the interaction between the 800XL and PIA.
-
Just for test.
-
With the original PIA, if you want more output or inputs, you are in trouble. I solve this problem like this: I take a good look at the 800XL schematic and see how the PIA talk with the CPU. Adress A0 A1 Data Bus D0 to D7, Clock 02, Reset, R/W, IRQ and...... CS2. There's the magic. (CS means Chip Select). The 800XL have a small 74LS138 chip at U2. This one decodes three adress (A8 A9 A10) to eight outputs. Each one to select chips from D000 to D700. Like this: PIN 15 D000 select GTIA PIN 14 D100 free PIN 13 D200 select POKEY PIN 12 D300 select PIA PIN 11 D400 free PIN 10 D500 cartridge (cctl) PIN 9 D600 free PIN 7 D700 free I already use D500 for many other mods, so, I know is a very safe direction to make anything. I use D500 U2 pin10 to pin 23 of the second PIA. Here is the equivalence between the standard PIA addressing mode and the second one: PORTA D300 54016 ==> D500 54528 PORTB D301 54017 ==> D501 54529 PACTL D302 54018 ==> D502 54530 PBCTL D303 54019 ==> D503 54531 All signals can be taken directly from the existing PIA (piggback) or from parallel port or cartridge port. The only exeption is CS2 (pin 23), this one must be connected to U2 pìn 10. Now, you can use both ports of this second PIA to have 16 extra outputs, or 8 inputs and 8 output... or what you want. And notice, you still having the PORTA free. The only issue: you cant use the cartridge and the second PIA at the same time. But if you dont use the cartridge.... no problem. Now I'm testing D100, aparently is absolute free and let me use the cartridge at the same time... testing. ZZT
-
The Atari PIA PORTA Adr. D300 (54016) PORTA PACTL Adr. D302 (54018) PACTL Note: Don't mess with PORTB or your Atari may crash because three ouputs makes subcontrol between PIA and MMU (memory management). ALL PORT-A INPUT 1 POKE 54018,56 2 POKE 54016,0 3 POKE 54018,60 Now PIA is ready to GET data 4 DATA=PEEK(54016) ALL PORT A OUTPUT 1 POKE 54018,56 2 POKE 54016,255 3 POKE 54018,60 Now PIA is ready to PUT data 4 POKE 54016,DATA In booting process, PORT-A is set all input to read joysticks. If you want the oposite, type "all output routine". To back, type "all input routine", or just press reset. Warning, if you set PIA as all output, don't short any line to ground or Vcc or may damage the PIA. This is for the Atari PIA.
-
The page cannot be found Thanks David_P, but I don't need instructions. I already have another PIA running very smooth on my 800XL. Just want to share the experience with other AA users.
-
¿No one? ¿anybody? ¿nobody?
-
Hi folks. Few years ago I made an Atari controlled pinball. All works fine. I make a couple of custom cards to have more outputs, specifically to control the cpu lamps. All ok, but from the start I did'nt like the "comunication" method, too many wires, too many chips... I dream seeing outputs directly from the Atari guts, winning order and less electrical noise. As real pinballs are. Now I want to improve that issue for my next pinball. The Atari PIA let just 8 bits free (PORT A). Too short for big proyects. On pinballs some of the outputs must remain locked (on), dinamic scan not allowed. For that reason more outputs are needed. I made my research, focus on add a second PIA to my Atari, winning two 8-bits ports for a total of 16 outputs, or inputs. Now, I'm wondering if anyone has done this mod before (add another PIA), and the method used. I want to compare experiences and see if I did well or not.
-
Controlling EM Pinball with an Atari 800XL
ZZTOP SOFT replied to ZZTOP SOFT's topic in Atari 8-Bit Computers
Oh dear... how I want a speech synthesizer for another pinball. For the moment I have to be happy with a Roland sampler. -
Controlling EM Pinball with an Atari 800XL
ZZTOP SOFT replied to ZZTOP SOFT's topic in Atari 8-Bit Computers
After a long time,I've been working on the cabinet artwork, to restore its original look. This is the result. Remember, I started from here: -
Maybe you're thinking in the centigrade 37 pinball, which originaly is a Gottlieb machine. This DMD goes for a Star Wars pinball, custom design. But the development of this one probably take me a little more time than the other. At least I have the cabinet, Star Wars Data East, with the artwork intact, this save me a lot of time and money in paint work. By the way, today I'm working in the cabinet spray of my centigrade 37.
-
Scrolling text: *=$4000 inicio lda #43 sta 54018 ldx #255 stx 54016 setups lda #0 sta 54604 ; reset lda #0 sta 54602 ; latch lda #1 sta 54604 ; reset end lda #0 sta 54601 ; OE 0 lda #1 sta 54600 ; data 1 ldx #59 ; clock stx 6005 inicio1 lda #255 sta 54016 lda #1 sta 54603 lda #0 sta 54603 lda #1 sta 54602 lda #0 sta 54602 lda #0 sta 54600 leetabla ldx 6005 lda atariage,x sta 54016 ldx 6005 dex stx 6005 cpx #0 bne t1 ldx #60 ; tabla stx 6005 t1 jsr tiempo veces ldx 6004 dex stx 6004 lda 6004 cmp #0 bne t2 lda #59 sta 6004 lda #1 sta 54600 t2 jmp inicio1 tiempo ; rutina de tiempo lda #5 sta 6002 paddle lda 624 sta 6000 loop ldx 6000 dex stx 6000 lda 6000 cmp #0 bne loop loop2 ldx 6002 dex stx 6002 lda 6002 cmp #0 bne paddle ; fin rutina de tiempo rts atariage .byte 255,255,255,255,255 ; sp .byte 255,255,192,6,245 ; logo Atariage .byte 235,215,175,255,255 ; logo Atariage .byte 255,255,255,255,255 ; sp .byte 255,3,221,221,3 ; A .byte 255,253,1,253 ; T .byte 255,3,221,221,3 ; A .byte 255,1,237,237,19 ; R .byte 255,255,1,255 ; I .byte 255,3,221,221,3 ; A .byte 255,131,109,109,139 ; G .byte 255,1,109,109,125 ; E .byte 255,255,255 ; sp *=$02E0 .word inicio
-
130XE stopped working, then my 800XL too!
ZZTOP SOFT replied to erichenneke's topic in Atari 8-Bit Computers
Check the PSU voltaje as first. If is good, take off the cover of your Atari, remove the shield, and looking for overheat chips. Overheat means that you can't keep your finger over the chip surface. A bad PSU (over 5V) typically fried some RAMS as first target. But, this is just a russian roulette. Years ago a bad PSU fried me two RAMS and the SO ROM. Have luck. -
I did my tests and as supposed BASIC is too slow to scan 48 columns. But they can scan 8 or 16 without trouble (one or two 8X8 displays). So, I did my first test on assembler to display the word Retrogames: *=$4000 start lda #43 sta 54018 ; set joy port as output ldx #255 stx 54016 ; joy port all outputs OFF setups lda #0 sta 54604 ; start reset lda #0 sta 54602 ; latch lda #1 sta 54604 ; reset end lda #0 sta 54601 ; OE Output Enable = 0 lda #1 sta 54600 ; serial data = 1 lda #48 sta 6001 ; clock = 48 ldx #48 stx 6005 ; index = 48 ini1 lda #255 sta 54016 ; joy port, all outputs ON lda #1 sta 54603 ; CK ON lda #0 sta 54603 ; CK OFF lda #1 sta 54602 ; Latch ON lda #0 sta 54602 ; Latch OFF lda #0 sta 54600 ; SERIAL DATA = 0 rbytes lda retrogames,x sta 54016 ldx 6005 dex stx 6005 jsr delay xtimes ldx 6001 dex stx 6001 lda 6001 cmp #0 bne ini1 jmp setups delay lda #5 sta 6002 paddle lda 624 sta 6000 loop ldx 6000 dex stx 6000 lda 6000 cmp #0 bne loop loop2 ldx 6002 dex stx 6002 lda 6002 cmp #0 bne paddle rts retrogames .byte 255,1,237,237,19 ; R .byte 255,1,109,109,125 ; E .byte 255,253,1,253 ; T .byte 255,1,237,237,19 ; R .byte 255,131,125,131 ; O .byte 255,131,109,109,139 ; G .byte 255,3,221,221,3 ; A .byte 255,1,251,247,251,1 ; M .byte 255,1,109,109,125 ; E .byte 255,179,109,109,155 ; S *=$02E0 .word start
-
Sorry is in spanish. Anyway, just watch the text on the DMD.
-
After some days I've Been working on this. For years I want to make this Dot Matrix Display. I'm going do the first tests on basic. I know... it is to slow, but, is just for testing. The heart of this operation is a decoder (74LS259) chip , which allow me select between 8 outputs. This outputs manage a bunch of serial shift registers chips (74LS595): Serial Input, Output Enable, Latch, Clock and Reset. The state of each are controlled by the Atari itself (no other processor needed). So, the idea is showing text, scroll text, and frames (some animations). What for? I'm going to use it in a pinball machine that I building. Tech stuff This kind of matrix displays working more than less at the same way: They drive on column at the time meanwhile they send the data to the row. On my design I have 8 serial shift register in chain to do that, RST clear all outputs, OE Enable or disable all outputs, Latch keep the data, CLOCK advance one step, SERIAL IN must be 1 at the first step, but immediatly must be 0, or every colums are 1 in 48 clocks (that is very bad). The idea is drive just one column at the time, from right to left. The ROW data come from the joystick port, so we have to set them as OUTPUT POKE 54018,43 (must set just at the start ) and the data we want to send POKE 54016,DATA The decoder 74LS259 are managed this way: when a adress between 54600~54608 are POKEd the cartridge line CCTL are activated, and in conjunction with the clock signal O2 (NAND) makes the chip are Enabled. So, if we did POKE 54600,1 A0=0 A1=0 A2=0 then output Q0 (pin 4) is selected and the data we send, in this case 1, are carry to this pin. This chip have latch, so the state remains stored until we change it. For last, every column must be drived by one ULN 2003 chip. And every ROW with a 220 ohms resistor. I pass the ROWs data thru an 74LS245 buffer chip, to protect the PIA. Schematic: http://www.retrogames.cl/imagenes/varios/dmd_sch.jpg
-
SIO2USB with a FTDI basic breakout board
ZZTOP SOFT replied to netbeui's topic in Atari 8-Bit Computers
Ufff Then, I have to pay for that. Tks. -
SIO2USB with a FTDI basic breakout board
ZZTOP SOFT replied to netbeui's topic in Atari 8-Bit Computers
I made this "sio2usb" FTDI, but I can't start APE emulation. ASPEQT works fine, but I miss the old APE. Using the wizard, COM4 and CTS are detected, but there's any communication with the Atari. Any ideas? or advice? ZZT -
Controlling EM Pinball with an Atari 800XL
ZZTOP SOFT replied to ZZTOP SOFT's topic in Atari 8-Bit Computers
And, I was using a Williams pinball driver board to drive coils, but this one has 27 darlington transistors, and my pinball just need 6. I cant allow to my self that kind of waste, even if the board has 3 PIA and a lot of other parts which I dont use on my pinball. At the left side you can see several darlington transistors. Williams pinball use 22 to drive coils, and 5 to drive the sound board. I just need 6 of them, and noting more. Now, this board goes to another pinball.:-) To replace this board, I build two PCB of my own design: Every of this boards can drive up to 4 coils, enough for the requirements of my pinball. At the left side you can see the logic, and at rigth side the power: four darlington transistors, every one with its own pre-driver transistor. Every chip are TTL-LS, and mounted on socket for easy repairs. . -
Controlling EM Pinball with an Atari 800XL
ZZTOP SOFT replied to ZZTOP SOFT's topic in Atari 8-Bit Computers
Now, I will do a few improvements. Finally I found a new led's for the thermometer, more close to the look of the original pinball. Some friend give me a lot of these boards. In our country we can found some Chinese slot machines (a real plague). They are completely electronic, and in the main board we'll see several square leds, exactly one centimeter per side. So, with 21 leds I build this new led bar. Really more nice that the old white leds. They could be a easy task, but every square led really have four leds inside, and for that reason the board are not able to drive them. To solve that I fit one ULN2003 driver between the serial decoder chips and the leds. Pretty cool. -
Controlling EM Pinball with an Atari 800XL
ZZTOP SOFT replied to ZZTOP SOFT's topic in Atari 8-Bit Computers
backbox almost ready. I print a backglass copy to ensure the correct position of the score display, ball in play, thermo, credit and Game Over light. In the back door all the PCB's are in a perfect position. By now, all is working properly, just a few details left. -
3d0 Controller Pinout needed
ZZTOP SOFT replied to SINGLE TOOTH's topic in 3DO Interactive Multiplayer
Thanks for your answer, if I understood well the difference is only the data. ¿right? -
3d0 Controller Pinout needed
ZZTOP SOFT replied to SINGLE TOOTH's topic in 3DO Interactive Multiplayer
Hi Sebastian, I have a couple of questions. I need a 3DO pad, but where I'm livin it's already impossible to buy one. So ¿why they can't adapt the snes pad directly to the 3DO? ¿What's the difference between both pads? I'm asking because both pads looks almost identical. ZZT
