Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About madscijr

  • Rank
    Space Invader

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Can someone recommend a relatively simple, easy to learn & use, yet powerful enough to do what I want, imperative programming language like BASIC or Visual Basic, for making Atari VCS and 8-bit type games for the Windows desktop (or maybe Linux but prefer Windows)? I would mainly be making 2-D games - stuff like Pong or Combat up to 8-bit Atari or Commodore era games, but probably nothing more complex. Maybe remake Pinball Construction Set or classic Ultima. Some features that would help relatively self contained (not 1,000,000 libraries you have to go through) free or not too expensive (this would be just for fun) easy to find lots of sample code for how to do things, and strong active community to ask questions built in IDE (preferably a visual IDE) and most importantly: currently supported and should continue to keep working for some time developed with a backwards-compatible philosophy so your programs will still work after a couple years! I have dabbled in various languages / systems over the years and made some games or partial games: Commodore 64 / BASIC - easy but games ran too slow, compiler helped speed games up, used some simple assembly for speeding up little routines (hard!) Commodore 64 / Gamemaker - easy but too limited (plus I missed being able to type code) Mac Classic / Pascal - limited to black & white graphics, couldn't find any info on making sounds (pre-Web so it was very hard to find docs or examples) Windows / QuickBasic - nice and easy but obsolete & couldn't figure out anything past text graphics and simple beeps Windows / VB6 - I liked the language and IDE but limited graphics support (bitblt, kind of confusing), and I never figured out playing >1 sounds at a time, just playing back WAV files one at a time; eventually VB6 became obsolete so I had to start over Windows / VB.NET 1.1 and some C# - the .NET language kept changing and got too complicated with the enterprise OO features JavaScript / HTML5 - figured out canvas graphics, Javascript syntax is easy but I am not crazy about HTML and CSS, and parts of language were too complicated and ugly (prototype stuff, too many libraries & frameworks, no types, etc.) Python / Pygame - mainly playing around with other people's code from pygame.org, still not comfortable with Python, not crazy about certain things like the indentation, no types, too many libraries / choices, dependencies and things changing too much that can break your code, etc. After all these years and languages I still prefer BASIC or VB6 syntax (JavaScript/C syntax is OK, Pascal is OK) and a visual editor. Mainly I don't have a ton of time to invest in learning stuff and if I get busy (which is often the case!), I might put a project down for months at a time, or even a couple years, and by the time I get back to it, the language I wrote it in has updated/changed or become totally obsolete, and I have to go back and fix my code or start over from scratch. I know computers change and all that but come on So anyway, if anyone has any advice or recommendations that would be grand. And hey, if it doesn't exist, it doesn't exist, but I thought I would ask! PS here are some pages I was looking at, in no particular order - if anyone can share any opinions on these, please: SDLBasic XBASIC BASIC Compiler (Windows, Linux) QB64 (Windows, Mac OS X, Linux), QB64 Just BASIC (Windows) SmallBASIC (Windows, Linux, N770/N800, PalmOS, eBookMan) ThinBasic Basic Interpreter (Windows) ElectronJS How to create a 2D game with Python and the Arcade library | Opensource.com FUZE4: Bringing BASIC to Switch — Wireframe Magazine I am really looking for Windows, but this caught my eye! Construct 2 – The Windows favourite Clickteam Fusion 2.5 – The veteran RPG Maker – The RPG specialist Microsoft Small Basic (wikipedia) Unity (probably not what I am looking for) Microsoft MakeCode Arcade (info) Atari Dev Studio A way to make games for the 2600 using BASIC? Hmm... DarkBasic GLBasic Liberty BASIC PureBasic RapidQ REALbasic (Xojo) XBasic Free BASIC Compilers and Interpreters (thefreecountry.com) https://www.gamedesigning.org/career/software/ https://www.websitetooltester.com/en/blog/best-game-engine/#GameSalad_The_Educators_Choice What is the easiest programming language to make games with? - Quora App Development - Infinite Runner - CodaKid Action! is an Atari-specific programming language written by Clinton Parker and sold by Optimized Systems Software (OSS) in ROM cartridge form starting in August 1983. It is the only language other than BASIC and assembler) that had real popularity on the platform and saw any significant coverage in the Atari press; type-in programs and various technical articles were found in most magazines. In comparison, languages like Forth and Logo saw much less use and almost no press coverage. Processing Tutorial: Building a Simple Game | Toptal Much appreciated
  2. Thanks for the tips and vote of confidence, 5v sounds like the way to go.
  3. Thank you everyone for all your input! This discussion has gone way beyond my very limited understanding of electronics, I don’t mind hacking around with connecting a ps/2 mouse to Arduino (which there are instructions for) and programming it the read the input to control resistances, but getting into stuff like sending voltages into my Atari console scares me. My electronics knowledge & skills are more at the level of being able to following wiring diagrams to hook stuff together, but calculating current and voltages is a little beyond me, I’d probably end up frying my Atari (and myself)! So even though wiring up a bunch of resistors to switches or transistors for a rudimentary digital potentiometer is not a very elegant or efficient way to solve the problem, I probably would be less likely to blow something up with this method than messing around with sending voltage via pwm and having to mess with capacitors and diodes. I’m all for learning but know thy limitations may help avoid loss of time, equipment, life! Lamely yours, me
  4. Thanks for all that info. BTW, the input device doesn’t have to be an optical mouse - you could use an ultrasonic Ping range sensor, or a photoresistor, or Theramin-like antenna to get analog input. The range sensor appeals to me because you could set it up to make a pong paddle follow your hand movement. Of course, you can just play on the Stella emulator on PC and the mouse controls the paddle. But what about 4 player games? Have they got Stella working with multiple mice? I know Windows has this raw input API to read multiple mice and keyboards. It would be awesome to make a pong/breakout/video olympics/pinball type construction set, the number of players limited only by the number of people, mice, and USB ports...
  5. That sounds nice and easy, and I like that the whole thing would be powered by the console. Would the Atari’s one 5v paddle pin supply enough juice to drive an Arduino or Pi (or 2, if one can’t simultaneously read 2 mice) and up to 2 optical mice? I was expecting the controller to need its own power source. Which uC do we want? The Arduino Uno has up to 6 pwm outputs, and I read the Pi has 1 (I recall reading something like it technically has 2 but only one is user programmable?) If the controller can distinguish & read two usb or ps/2 mice plugged into it, and can drive 2 pwm outputs, then you only need one controller per pair of paddles (1 uC per port). Else you need 1 controller per paddle (2 per port).
  6. That's good to know. But no matter, they're still easy to find and dirt cheap, on ebay or any goodwill store (PS/2 optical or older USB optical that work with PS/2 adapters). And Raspberry Pi has USB inputs and can do PWM, if you don't want to go the PS/2 route.
  7. Hmm... So would you attach the PWM output directly to pin 9 (for 5 for the other paddle) and leave pin 7 (+5v) disconnected? Pin Atari VCS 1 Up 2 Down 3 Left 4 Right 5 Paddle B 6 Button 7 VCC (+5 V) 8 GND 9 Paddle A
  8. Has anyone tried making one? It would probably involve some kind of hardware interface to accept audio input (maybe the audio signal could be "translated" to paddle input?) and there would need to be some way to emulate the knobs and buttons. Maybe something like: PORT #1 = paddle controllers, where paddle #1 = audio signal input (would have to be mono) paddle #2 = knob control, pressing the button changes which parameter the knob controls PORT #2 = keyboard controller (12 buttons available) or PORT #1 = paddle controllers, where paddle #1 = left audio signal input (during play mode), input knob (during settings mode) paddle #2 = right audio signal input (during play mode), input knob (during settings mode) PORT #2 = keyboard controller (12 buttons, one of them switches between play and settings mode) ? The audio signal to paddle adapter would have to be a simple circuit that is easy for people to find parts for and build. Anyway, I just thought I would ask if anyone has done this and put the idea out there... Seems like it would be fun. PS Here is what wikipedia says the controls were: The knob controls are as follows:[6]:66–67 Gain: Two knobs controlling the left and right audio input signals strength. These increase the size of the visual pattern. Color: One knob controlling color. This increases the number of available colors from a solid color to a rainbow of colors. Contour: Two knobs controlling the left and right audio input signals visual representations shapes from soft to geometric. These act to soften shapes or increase geometric complexity of the design. The push button controls are as follows:[6]:67 Power: Turns unit on and off. Shape (solid): Any Shape or Image that is displayed will be solid Shape (hole): One stereo channel controls the outside with a hole in the center controlled by the other stereo channel. Shape (ring): Both stereo channels will represent two outline shapes that retain their thickness with the pulse of the music Shape (auto): The system automatically cycles at random between the different Shape settings as well as the next eight buttons: Horizontal 1: Displays one generated image. Horizontal 2: Displays two horizontal generated images Horizontal 4: Displays four horizontal generated images Horizontal 5: Displays five horizontal generated images Vertical 1: Displays one generated image Vertical 2: Displays two vertical generated images Vertical 4: Displays four vertical generated images Vertical 8: Displays eight vertical generated images
  9. Thanks for your replies. I did some more digging and I think it will definitely be possible (lots of links listed below). Mouse input - looks like the mouse reading can be very easily done, there are plenty of examples of reading PS/2 mouse with Arduino and you can just plug a USB optical mouse into a USB to PS/2 adapter. I have used these adapters with many old computers.$2 for the PS/2 socket, and if you need an adapter it's $2. There are breakout boards for USB input for Arduino, but the Raspberry Pi has that built in. Recreating the potentiometer - basically we want to create a digital potentiometer - one way might be just to connect matrix of fixed resistors (or just potentiometers tuned to the values) to switches on the Arduino in a binary pattern, that add up to 1M Ohm (1000000 ohms). The more resistors/switches, the more "bits" you have, for higher resolution. For example an 8-bit resolution 1M Ohm digital potentiometer can be made with 8 resistors of these values: Bit Value (Ohms) 1 500000 < most significant bit (MSB) 2 250000 3 125000 4 62500 5 31250 6 15625 7 7812.5 8 3906.25 < least significant bit (LSB) 996093.75 subtotal, comes close to the full 1000000 Ohms These values should provide 256 discrete resistances, which exceeds the 160 pixel horizontal resolution of the 2600. You could add a 9th bit and get 512 discrete resistances (with each bit you add, the number of resistances can be doubled). It really comes down to how many switches the given Arduino / Pi / etc. can control. I see an Arduino Uno R3 board for $15 that has 14 digital input/output pins. Then just have your Arduino program close switches along the circuit path to bypass/short the given resistors to achieve the desired resistance. I'm not sure about the current - a quick google says Atari paddle's pin outputs 5v but not sure what current it carries. You can check with a multimeter (I have a "dummy load" gadget somewhere if I need it). Anyway, need to make sure it doesn't overload the Arduino digital outputs. According to https://electronics.stackexchange.com/questions/67092/how-much-current-can-i-draw-from-the-arduinos-pins the limit for Arduino is: DC Current per I/O Pin: 40.0 mA DC Current per VCC and GND Pins: 200.0 mAOverall DC current limit for all IO pins put together: 200 mA If the current is greater than what the Arduino's digital switches support, you would have it use transistors (I have seen some Arduino packages include Darlington transistor arrays out of the box). But it's a common problem with plenty of info available. The Darlington transistors should be fine - I don't imagine the Atari would use paddle voltages big enough that you'd need to use relays (which are slow, maybe too slow to keep a game controller responsive). This might take some experimenting to "calibrate" the resistances, but I don't see why it couldn't be done. The bit patterns for the various resistances can either be calculated or even stored in a lookup table to speed it up. Regarding the part about the USB mouse providing relative data, you would probably track a virtual "position" in the Arduino, and output based on that. Maybe add a "panic" button to reset/or center the mouse? I don't know, this would just take some playing around to find out. Not sure if one Arduino could be used as an adapter for 2 or more mice. I saw some posts on reading multiple devices, but would need to read more on it. Theoretically the perfect adapter would let you plug in 4 USB mice, and have 2 9-pin outputs that plug into an Atari, but you might have to build 1 adapter per mouse, where 2 adapters would combine their output into a single 9-pin plug that plugs into the Atari? This is all theoretical at this point, but fun to think about! Some links I found: Micro Connectors USB Female to PS/2 Male Adapter $1.99 at Frys https://www.frys.com/product/3470833?store=32&gclid=CjwKCAjwg-DpBRBbEiwAEV1_-LBP0wQgTWY04b3YUzia7Vmjb3NRNFzpyc5nobYSrP75AWVi-ohp0RoCX8YQAvD_BwE Breakout board for PS/2 Socket $2 at Cytron https://www.robotshop.com/en/cytron-breakout-board-ps-2-socket.html?gclid=CjwKCAjwg-DpBRBbEiwAEV1_-IriJMjpOkzehKzOuMYQDxNwzf1MMjTxopXG5J4mm078Y0uNCHD_kBoCvd4QAvD_BwE PS2 mouse interface for Arduino https://playground.arduino.cc/ComponentLib/Ps2mouse/ GitHub - rucek/arduino-ps2-mouse https://github.com/rucek/arduino-ps2-mouse GitHub - kristopher/PS2-Mouse-Arduino: Arduino/Wiring Library for interfacing with a PS2 mouse. https://github.com/kristopher/PS2-Mouse-Arduino Reading ps2 mouse output with an Arduino (PDF) https://www.robocore.net/upload/attachments/readingps2mouseoutputwithanarduinofinal_769.pdf Arduino PS2 Mouse Interfacing Project with Circuit Diagram https://www.engineersgarage.com/embedded/arduino/how-to-interface-ps2-mouse-with-arduino Arduino Playground - InterfacingWithHardware - Mouse https://playground.arduino.cc/Main/InterfacingWithHardware/#mouse Grove - PS/2 Adapter https://seeeddoc.github.io/Grove-PS-2_Adapter/ Modern mice for old computers http://danceswithferrets.org/geekblog/?p=575 MAX3421E - USB Peripheral/Host Controller with SPI Interface - A Single IC with USB Functionality https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3421E.html Connect PS/2 Keyboard to Arduino https://www.instructables.com/id/Connect-PS2-Keyboard-to-Arduino/ USB mouse library working for anyone https://forum.arduino.cc/index.php/topic,21655.0.html USB ports, one Arduino multiple HID? https://forum.arduino.cc/index.php?topic=514218.0 Darlington Driver 8-Channel ULN2803 DIP - COM-00312 - SparkFun Electronics $1.95 https://www.sparkfun.com/products/312 ULN2003A Darlington Transistor Array Circuit Examples http://www.bristolwatch.com/ele/uln2003a.htm Use Arduino With TIP120 Transistor to Control Motors and High Power Devices https://www.instructables.com/id/Use-Arduino-with-TIP120-transistor-to-control-moto/ ULN2003A Darlington Transistor Array Circuit Examples http://www.bristolwatch.com/ele/uln2003a.htm ULN2803: 8 Channel Darlington Driver (Solenoid/Unipolar Stepper) [ULN2803A] ID: 970 - $1.95 : Adafruit Industries, Unique & fun DIY electronics and kits https://www.adafruit.com/product/970 Using MOSFETs versus Darlington Transistors. https://forum.arduino.cc/index.php?topic=198558.0 arduino - Darlington MOSFET Problem - Electrical Engineering Stack Exchange https://support.google.com/chrome/?p=help&ctx=keyboard#topic=7438008 I need a switch on/off power of 18V 20Amp with a arduino. Not sure what to use. https://forum.arduino.cc/index.php?topic=439170.0
  10. I've seen USB adapters for connecting Atari 2600 paddle controllers to a PC, but what about connecting USB optical mice to a real Atari to use as paddles? I'm interested in trying a regular wired USB optical mouse or PC wired USB optical trackball for controlling paddle games - not only would it give a different gaming experience than paddles, but optical controllers would also be "jitter proof". I have already made my own spinner controllers for MAME and Stella on the computer very simply, by duct-taping an optical mouse against a shaft (such as a wood dowel, or a wood dowel through a section of foam pool noodle) connected to a knob, and it works beautifully. So I am curious about making an adapter using an Arduino or Raspberry Pi or similar, that you can plug the mouse into, and outputs the variable resistances that would emulate a real paddle controller on the 2600. (The paddle button would be a simple matter of wiring the button to the appropriate pins.) Has anyone tried this, seen a page on this, or got any idea how a microcontroller might output the resistance range (1M ohm) that a native 2600 paddle controller would?
  11. One thing that has always bothered me about Super Breakout on the 2600 was the colors & sounds. I like the original game's much better and would love to be able to hack Super to use those. I know nothing about programming the 2600 (but I know the very basics of 6250 assembly). I have been playing around with running code at 8bitworkshop and was wondering if anyone had a disassembly of breakout and super breakout or could lend a hand in modding the game?
  12. Did anyone ever develop this game? (Would anyone like to try?) :-) http://crvnjava67.deviantart.com/art/Berzerk-Level-64-000-443784908
  • Create New...