ZZTOP SOFT Posted December 6, 2012 Author Share Posted December 6, 2012 (edited) well, I definitely think this is a cool project. you might want to listen to any suggestions Fox-1 has, I think he once built a light controller (as well as a controller of other things) out of an 800XL for his car I think. Sure! There are many methods of interfacing, but we have to think first, in the slow Basic processing speed versus hardware complexity. Both must be the more simple as possible to achive the goal. So, serial output, or multiplexing output, at least in Basic can't be. I'm going to use addressable latchs, so: POKE 54800,1 = some ON POKE 54800,0 = some OFF If the method of interfacing eats many cycles, it's quite possible, the machine does not react to the speed of the ball, losing points or ignoring other actions. In matter of fact, this is one thing very common on EM pinballs, and that is one thing I'm not allow on my design. IE: when the ball pass on a rollover, several things happen: some points, one sound, turn on some light, belive me, Basic is at the edge of its capability. If someone knows, can tell how many mS takes POKE 54800,1: POKE 54800,0 I think something near to 100mS or 200mS. The maximum time between action and action is just 1 second (better if less), so all routines (update display, sound, lights) should be in that range. Edited December 6, 2012 by ZZTOP SOFT Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted December 6, 2012 Share Posted December 6, 2012 Soulbuster: some friends say me ¿why you don't allow to another guys to come and play? Paying for that. Well, you say the answer: playin hours on $1 makes me out of business. Yea, I probably pissed off the bar I played in 'cause I was not dropping lots of quarters. Quote Link to comment Share on other sites More sharing options...
Joey Z Posted December 6, 2012 Share Posted December 6, 2012 Sure! There are many methods of interfacing, but we have to think first, in the slow Basic processing speed versus hardware complexity. Both must be the more simple as possible to achive the goal. So, serial output, or multiplexing output, at least in Basic can't be. I'm going to use addressable latchs, so: POKE 54800,1 = some ON POKE 54800,0 = some OFF If the method of interfacing eats many cycles, it's quite possible, the machine does not react to the speed of the ball, losing points or ignoring other actions. In matter of fact, this is one thing very common on EM pinballs, and that is one thing I'm not allow on my design. IE: when the ball pass on a rollover, several things happen: some points, one sound, turn on some light, belive me, Basic is at the edge of its capability. If someone knows, can tell how many mS takes POKE 54800,1: POKE 54800,0 I think something near to 100mS or 200mS. The maximum time between action and action is just 1 second (better if less), so all routines (update display, sound, lights) should be in that range. also, if you have problems with speed, there is a POKE that disables ANTIC DMA I think which should speed some stuff up. something about the atari being inside the pinball machine makes me think you are not hooking up a screen anyway 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 6, 2012 Share Posted December 6, 2012 For stuff like the bumpers that require millisecond response, assembly programming would be a must. For general stuff like score update, feature resets, whatever, Basic would be pretty adequate. But something like running a VBI at 50/60 Hz might be insufficient for the quick response needs. A few DLIs could fix that, you could then have e.g. 200 Hz response on some things. Also, I forgot the PIA bits - there's an extra 2 bits of input, 2 bits output that are available through the SIO port there. Normally the inputs are to request Interrupts but could probably be used as simple input latches. The outputs are for SIO Command and cassette motor control and can be used for other applications. There's also the SIO input/output pins which can be read or set by a user program. But still, I think some sort of cartridge-based latch array might be a better way if you need more than 20 bits or so I/O. Are you going to use the Atari for music or sound effects? I reckon for an old pinball that'd be pretty cool. Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 6, 2012 Author Share Posted December 6, 2012 (edited) Yeah! POKE 559,0 I tried it on my eprom burner and the speed increase was noticeable. On EM pinballs bumpers are self shoot. I mean, the primary switch turn ON a small relay who activates the bumper coil gives the power needed (I'm copy that). When the coil is fired, part of the mechanism activates a second switch wich turn OFF the relay, score one point and make's a chime. Chime unit. About the sound, EM pinballs have a "chime's unit", which has the ability to makes three tones, TITITITI TATATATA TOTOTOTO. So, I'm going to use sound like: SOUND 1,50,10,10 SOUND 1,100,10,10, 10 and SOUND 1,200,10,10 and maybe other effects that I have not thought yet. I'd love If I could use SAM, but I don't know how make it run on cartridge. ;-( Edited December 6, 2012 by ZZTOP SOFT Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 6, 2012 Share Posted December 6, 2012 As it stands now, SAM uses all the available CPU cycles while doing voice playback. Getting it onto cart wouldn't be a huge effort but it'd still have to run from Ram as normal. But if you used something like a 8 Mbit cart, that's 1 Megabyte or near enough that you could devote to samples which could be played back via timer (allows normal program to still execute). 8 KHz playback of 4 bit samples = 4 K/second, so 1 Meg would give a bit over 4 minutes worth of sample storage. 1 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 7, 2012 Author Share Posted December 7, 2012 I've been programming a bit and is not too difficult so far. Now, I remember one POKE to control the keyboard repeat speed. Somebody can tell me the addr. please? I very need that. And if does the same as typematic rate on windows. ZZT More paint. Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 7, 2012 Share Posted December 7, 2012 729 dec. for the delay until repeating starts. 730 holds delay between repeated "presses". The value is in 50th or 60th of a second depending if Pal or NTSC. I suspect the adjustment isn't as fine as available for PC key repeat, it's probably more like fractions of 100 or 200. 1 Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted December 7, 2012 Share Posted December 7, 2012 Would Turbo-BasicXL be faster? 1 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 7, 2012 Author Share Posted December 7, 2012 729 dec. for the delay until repeating starts. 730 holds delay between repeated "presses". The value is in 50th or 60th of a second depending if Pal or NTSC. I suspect the adjustment isn't as fine as available for PC key repeat, it's probably more like fractions of 100 or 200. Cool! 729,10!! awesome response! thanks a lot, in time I just forgot the addr. This help me a lot in the keyboard scanning routine. Would Turbo-BasicXL be faster? I'm already using TB. Just need the right compilator, because I only have NMG compiler (only runs atari basic). Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 7, 2012 Author Share Posted December 7, 2012 As it stands now, SAM uses all the available CPU cycles while doing voice playback. Getting it onto cart wouldn't be a huge effort but it'd still have to run from Ram as normal. If I remember well, SAM only runs on regular atari basic. Correct me if I'm wrong please. Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 8, 2012 Author Share Posted December 8, 2012 More pain-t. 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 8, 2012 Share Posted December 8, 2012 SAM should be able to run via assembly interface too. I don't think I've got any of the docs here though. Quote Link to comment Share on other sites More sharing options...
Fox-1 / mnx Posted December 8, 2012 Share Posted December 8, 2012 SAM... On the original disk is a driver that creates a "V:" device. You can just write or copy data to "V:" and SAM will say it. Works about the same as with the built-in "V:" speech synthesizer of the 1450XL. Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 8, 2012 Author Share Posted December 8, 2012 I buy some parts. I put them up to see how they look. And I think they look nice. More pain-t. 1 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 9, 2012 Author Share Posted December 9, 2012 Well, the paint work is finished. And now I build the I/O board. As I said before, I will use LEDs, so I just have to solder them and make the final test. 2 Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted December 10, 2012 Share Posted December 10, 2012 Nice Progress! Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 11, 2012 Author Share Posted December 11, 2012 I just start the reassembly of the parts recently buyed. Me. Posts. Rubbers. Lane guide. Stand up Targets. Bumpers. Flippers. Playfield. Drop targets Special lane, made by me. Upper arch. Nice Progress! Thanks, I'm going as fast as possible. 1 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 13, 2012 Author Share Posted December 13, 2012 (edited) Well, this is the first test, atari keyboard is conected to switchs, IO board works fine, sounds and score OK. Only the coils are not fired yet, but I expect to do it work today or tonight. See it on yt: http://www.youtube.com/watch?v=qgu7TJJ4wYk&feature=youtu.be Edited December 13, 2012 by ZZTOP SOFT 3 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 17, 2012 Author Share Posted December 17, 2012 (edited) Well, I've been a little busy, but, today I did the first attempt to fire coils controlled by the atari itself. And works! In case wants to know how, I do nothing too fancy or ingenious, I just copy the coil fire method of a Williams pinballs: a darlington transistor. This work like that: the atari send a 1 to turn on the coil and a 0 to off. Easy. Test program: 10 A=0 20 POKE 54612,1 30 A=1^1 40 POKE 54612,0 The instrucción A=1^1 is just to create a small delay between the transition 1 to 0. If I dont put this one, the coil act too weak, because the pulse is too short. So, with this, the coil fire like hell! That is what I try to explain (or say) in the next video. XD For now I have no electric isolation between the atari and this section (something too risky). So, I think very seriously in add some optocouplers to avoid any risk of short between the 24V and the Atari (the amps here are brutal because they feed the coils). Please, ask me any question. Edited December 17, 2012 by ZZTOP SOFT 1 Quote Link to comment Share on other sites More sharing options...
+SoulBuster Posted December 18, 2012 Share Posted December 18, 2012 Great Job! 1 Quote Link to comment Share on other sites More sharing options...
Atariman Posted December 18, 2012 Share Posted December 18, 2012 Anybody else find themselves checking this thread daily for progress? I've got to admit this is a pretty awesome project and I have been amazed by the progress so far! 1 Quote Link to comment Share on other sites More sharing options...
ZZTOP SOFT Posted December 20, 2012 Author Share Posted December 20, 2012 oh boy, oh boy, what a nice thing. At last I can play with all working by itself. The software is running on Turbo Basic and work perfectly, better than I expected. Some friend says me that can be compiled using Turbo Compiler, and using Runtime.com the file could be ready (executable) to fit onto a cartridge. Somebody know if this is true? or say me how to do it please. (I only need the .exe file, because I already have the loader for the cartridge.) And also I need the addr. of the console keys, because when the ball is on the out hole, they stuck all the other keys, so cant start the game or insert coins, so Im goin to use START and SELECT instead START & COIN buttons , so that way the keyboard remains free. I only remember 53XXX or so. 3 Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 20, 2012 Share Posted December 20, 2012 53279 decimal is the Consol register. Lower 3 bits give individual sense for the keys. Each returns 0 for key is pressed else 1. bit 2 - Option, bit 1 - Select, bit 0 - Start. e.g. 7 = no keys, 6 = Start, 4 = Start and Select. 1 Quote Link to comment Share on other sites More sharing options...
+bf2k+ Posted December 20, 2012 Share Posted December 20, 2012 Is there a TILT function? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.