Sixth entry.. New IDE under way, and hardware details..

Greetings, Pinfreaks.
I have two things.. progress on an IDE, and some hardware details that Tim asked for..

None of this work is of much use unless the eager Pinfreak out there can make changes and such.. and the existing work is all done under a compiler, via a Microchip RealICE emulator. So that is not something that the average fellow would want to do. So the key is a PC based development environment. This would allow the enthusiast to edit projects, download them, and debug them. I am in the midst of writing this editor (IDE.. integrated development environment). So far, I have chosen the uber simple INI file format, which I retitle the .PBP format, or Pin Ball Project. Details on the machine info, lamps, switches, solenoids, variables, and of course thread info are all stored here. The IDE will now open a project file (Firepower, of course), and the project view displays a tree with the major categories on it. Double click on a tree item, and a window pops up with that info there. I am working on these windows now. Eventually, there will be a compiler that takes user code and packs it into my own Pinball Command Language, which I have decided is a bit too much for folks to follow. The language will begin to resemble somewhat simple BASIC. So then the IDE will download the code to the pinball machine, and the user can start, stop, reset, and get key debug info on the operation. Whew.. I have a long ways to go.

So on to more hardware details.. the current proto board is built around a PIC24 part, which is a 16 bit microcontroller. Sad to say, but the days of a processor with external address bus and EPROMS are a distant past. Most microcontrollers have a ton of memory ( I have 256K of flash and 32K of ram in this one), and piles of peripherals built in. And why not.. this 16 bit lightning fast part is less expensive than an obsolete 6800 that Jameco might or might not have.
This board then has level translation chips (3.3V to 5V), and a 40 pin ribbon cable that is pinned out to represent a 6800 processor. I remove the original 6802 processor, and plug in my ribbon cable. That allows my microcontroller to take total control of the MPU board.
I then have code that generates the proper address/data/control signals, and take control of the board. I just ignore the EPROMS and SRAM. I control the 6821 PIA's, as they are all of the access to the hardware. I also generate an Eclock, since this will create the blanking signal, without which you will be hard pressed to make anything work. There is a 1mS pulse coming from the board as well, which was used in the original system to generate an interrupt.. but I think that I am generating my own timer interrupt.
I am also using a bit of the flash memory for non-volatile values (no more batteries!!). The only down side is that when a value is updated, the processor stops execution for some tens of milliseconds, and you can see a slight flicker in the scanning of the displays.

For more info on PBOS (pinball operating system) or PCL (pinball command language) please see previous posts.

Also, I am beggin for comments and ideas. Please email me at ceddy(at)nb.net.
Thanks,
Chris~

 

What did you think of this article?




Trackbacks
  • No trackbacks exist for this entry.
Comments
  • No comments exist for this entry.
Leave a comment

Submitted comments will be subject to moderation before being displayed.

 Enter the above security code (required)

 Name

 Email (will not be published)

 Website

Your comment is 0 characters limited to 3000 characters.