tag:blogger.com,1999:blog-58245902024-03-07T05:00:35.897-05:00Avoid SpikesKnarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.comBlogger38125tag:blogger.com,1999:blog-5824590.post-26384966747698306432020-09-13T23:31:00.001-04:002020-09-13T23:37:33.845-04:00Fun with FPGAs - recreating the Atari TIA, Part 1<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCNRRa8OHSfcUHl4YHec4Eoexh_SmPBySNFfKQuR1AJ4keIv0OUnGEYN60kcbLuTg0O820WjdRW8NAigC83xStLscJzEGPL1CaYpzQo7K1vGqpJ88_pemTqdiSPtOOditiQ-iKQg/s4032/20200913_230854.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2268" data-original-width="4032" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCNRRa8OHSfcUHl4YHec4Eoexh_SmPBySNFfKQuR1AJ4keIv0OUnGEYN60kcbLuTg0O820WjdRW8NAigC83xStLscJzEGPL1CaYpzQo7K1vGqpJ88_pemTqdiSPtOOditiQ-iKQg/w625-h351/20200913_230854.jpg" width="625" /></a></div><br /><div><br /></div>I have been playing with recreating the Atari TIA chip as used in the original 2600 in an FPGA. I know this has been done a few times already, but I'm hoping to use this project as a warmup for bigger and better things. Furthermore, I'd like to be able to produce actual hardware replacements for the original chips.<div><br /></div><div>For the TIA, there are original schematics available, as well as many notes and forum posts about all the details of its operation. There are other FPGA cores as well. You would think this kind of project is incredibly straightforward - just implement what's in the schematic using Verilog or VHDL, and everything will just work. I'd like to explore two reasons why this is quite a bit harder than that.</div><div><br /></div><div><b>1) Custom ICs back in the day were extremely limited. Clock speeds were low. The total number of transistors were extremely limited. </b> </div><div><br /></div><div>For these reasons, and by today's standards, lots of "shortcuts" were taken. Circuits would be clocked on rising and falling edges, to double the effective clock rate. Elements would be chained together in complex ways, where one state transition would set off a cascade of downstream state changes, affected by propagation delays. A single bit of state might be represented by a full D flip-flop, or in might be simply the output of one transistor which is "refreshed" with a new value on a regular basis.</div><div><br /></div><div>Contrast this with modern FPGA design principles - namely "synchronous design". Essentially, all state should be in the form of clocked flip flops, which are all clocked at the same time, and whose input states are a simple combination of the output states. Since you can't really imitate the tricks used back in the day exactly, you generate logic circuits that do the same thing. (The intermediate states should be the same as what you have in the original design.) But, in order for clocking to be synchronous, sometimes you need to create additional signals that didn't exist in the original design. For example - a clock pulse causes A, but under some additional circumstance A then causes B. If the delay between A and B is not significant, surely you want A and B to happen at the same time in the new design. But, you probably need a new signal that tells you that A is going to happen _and_ it's the special circumstance, so that B can happen at the same time.</div><div><br /></div><div>Since you can't count on delays in an FPGA, you end up reverse-engineering the behavior of the original design, and implementing the equivalent behavior, even if it's not exactly 1-to-1.</div><div><br /></div><div>I don't do FPGA design much professionally. I'm not even exactly sure how much I can deviate from "good" FPGA design principles and get a reliable design. That's one thing I'd really like to learn from this experience.</div><div><br /></div><div><b>2) Sometimes, maybe most of the time, there is analog on the original chip along with the digital.</b></div><div><br /></div><div>For example, the paddle controllers on the 2600 use an analog discharge curve from 5V to set their timing. A better example, Atari used an analog phase delay chain to generate the color palette. These require new adaptations to work with a fully digital design.</div><div><br /></div><div>On top of this, 5V logic is largely obsolete. You need to examine how all the pins are being used in your system, and make sure there are compatible signals getting to/from your FPGA.</div><div><br /></div><div>In the next blog post, I will discuss the first hurdle I faced. Setting up clocking so that I can generate all the signals needed by a fully digital version of the TIA.</div><div><br /></div>Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com4tag:blogger.com,1999:blog-5824590.post-91690404221815915182017-09-25T13:55:00.000-04:002017-09-25T13:55:18.751-04:00Sega Space Tactics<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5XI9HVT2nFNbmh6SAgWXDhyXWUPqWUOHgThxD8p2eoGJLh3eRtENg1tRvVONY9w4XJXtU7iVYpxTSZG9ju8SeYJdPTnSH5ZpK_3LHmD7f1MCeuL0ltMMdpjkogCAVCSWVtrBAyg/s1600/space-tactics-1-300x300.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5XI9HVT2nFNbmh6SAgWXDhyXWUPqWUOHgThxD8p2eoGJLh3eRtENg1tRvVONY9w4XJXtU7iVYpxTSZG9ju8SeYJdPTnSH5ZpK_3LHmD7f1MCeuL0ltMMdpjkogCAVCSWVtrBAyg/s1600/space-tactics-1-300x300.png" /></a></div>
<br />
<br />
Sega Space Tactics - One of those arcade games which most people have never heard of - but it brings back a feeling of nostalgia for me.<br />
<br />
The day before the grand opening of my local Chuck E. Cheese's - sometime in the early 1980's - my brother and I got a chance to visit this new "pizza arcade" concept. Arcade technicians were scurrying between shiny new cabinets, each with the coin door open, making sure they all worked fine for opening day.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM6leHpB641OI859IThlxfKXoxg9IHjoFXzNdNv8dXPSHLUXW-meKUurze763yN24s1ZdL6MySRL_g4NzgQyVDAz-f-VHXZd4zY5b0345RPA4o-mBoVLmmS1ib9LuOnXbIwuvzjw/s1600/stflyer1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1103" data-original-width="850" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM6leHpB641OI859IThlxfKXoxg9IHjoFXzNdNv8dXPSHLUXW-meKUurze763yN24s1ZdL6MySRL_g4NzgQyVDAz-f-VHXZd4zY5b0345RPA4o-mBoVLmmS1ib9LuOnXbIwuvzjw/s320/stflyer1.jpg" width="246" /></a></div>
<br />
The "Space Tactics" sit-down cabinet was big - the two of us could fit inside side by side. It was sort of a "3D space invaders", with weird analog sounds, electro-mechanical controls, and a first-person space shooter perspective. It was a remarkable day, but something about that particular immersive environment stuck with me, at least for a while. It was like we were "flying our own starship," just for the day. Eventually though, I forgot all about it.<br />
<br />
The game didn't catch on. Or maybe it was just too complicated, and prone to breakage. In any case, as the 1980's went on it was fairly quickly replaced with newer, more conventional games.<br />
<br />
Fast forward to the late 1990's. I am having a blast working as a new MAME developer, and looking through a list of unemulated titles. In the days before "flyer archives"...something about the name "Space Tactics" jogs a memory. I ask about it. I'm told "It's electro-mechanical and very complicated - but the schematics are in the service manual posted here if you're really interested...". I still can't remember the game, but I think "maybe if I start working on the emulation I will remember..."<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg52CZn8Mw8efok87_a2xrdNrM92JYwmqHSnIQEWEdRK3DJEN77SO_yd9D_xCeWI3pRouVdEvHVEDr0X2lZ7olbukwGO1vQa6R_P-tq8Xt0F7vj-lpODYldHt4iX7NV1EDFm_Lw5w/s1600/stflyer2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1103" data-original-width="850" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg52CZn8Mw8efok87_a2xrdNrM92JYwmqHSnIQEWEdRK3DJEN77SO_yd9D_xCeWI3pRouVdEvHVEDr0X2lZ7olbukwGO1vQa6R_P-tq8Xt0F7vj-lpODYldHt4iX7NV1EDFm_Lw5w/s320/stflyer2.jpg" width="246" /></a></div>
<br />
It takes a special kind of masochist to emulate a beast like this one. All the standard arcade hardware, plus worm gears, limit switches, encoder wheels. I started writing code a little at a time...just the graphics...the text...the scrolling of the playfield...eventually adding the LED arrays as best I could remember - and a rudimentary score display. I remember now! I wish I could remember exactly how it looked, but at least the driver is playable now.<br />
<br />
A trip to Cedar Point amusement park - sometime in near the turn of the century. The have two actual Space Tactics games! One working, one not (probably for parts I think.) I take a few pics, and wonder how much longer they will be there.<br />
<br />
<a href="https://www.youtube.com/watch?v=SpXMv0hVnRc">Space Tactics Gameplay</a><br />
<br />
Mid 200x. "eBay - L@@k - Sega Space Tactics game for $50 - local pickup only - in upstate New York". I decide to rent a truck and drive with a friend to pickup the game, driving from the midwest. (This deserves it's own blog entry) The game is complete, except for a coinbox door and a reinforcing rod to add rigidity to the seating area. <br />
<br />
<a href="https://www.youtube.com/watch?v=vxq00qQNxdA">Inside Sega Space Tactics</a><br />
<br />
It is amazingly complicated on the inside. Pixels were expensive in 1981, so making an immersive experience was tricky. Sega's solution? Mount the monitor on a rotatable chassis with a movable mirror. The playfield appears to slide up-down-left-right as you move the flight yoke. Against this moving background provide stationary 'beams' of fixed LED's in the foreground, which light up in sequences when you fire. Finally, add some fluorescent graphics, a black-light bulb, LED score indicators and lighted buttons, analog sound, and you've got something!<br />
<br />
Now the sad interlude...It's fun and works, but I never get it completely setup where my kids and I can play it. It stays in my garage.<br />
<br />
2010ish. Against my better judgement, I decide to get rid of Space Tactics because it is taking up too much room!<br />
<br />
And the happy ending...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi604G3kyX1N1lZAVUx5hfIPDKO4N7zDqyjoP8ss0xZrWreuknSMC9v3nJZCe4GONL01Re5fBHTasryo022jPeNyhwqDFlpgDyNvNDQRRJsIMxbyyIU4HgC1aGQxhJeplNKxJKojw/s1600/st_on_truck.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="889" data-original-width="1185" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi604G3kyX1N1lZAVUx5hfIPDKO4N7zDqyjoP8ss0xZrWreuknSMC9v3nJZCe4GONL01Re5fBHTasryo022jPeNyhwqDFlpgDyNvNDQRRJsIMxbyyIU4HgC1aGQxhJeplNKxJKojw/s320/st_on_truck.jpg" width="320" /></a></div>
<br />
Last week - 2017. A local collector is selling a Space Tactics...more than $50, but not too high...just as I'm buying a new house with a walkout basement. A quick trip, and I have a nicer one than I had before! Still missing a coinbox door but otherwise complete. I haven't powered it up yet but I will follow up this post with a video.<br />
<br />
Epilogue:<br />
<br />
<a href="https://www.youtube.com/watch?v=2URpovXSxts">Current MAME gameplay</a><br />
<br />
2017 MAME status - still work to do! - Others have added nicer rendering of the score display. Sound emulation is not complete, because of the analog stuff. (No reason why it can't be completed now, though.) Also, notice the laser beam rendering is still "angled up" and pixellated - unlike the real thing. This is still the best I could remember when I first wrote the driver, and I used the low-resolution playfield rendering (which forces the pixellation) to add it. It should be updated to use the proper MAME rendering subsystem (would look great) and aligned like the real game to be roughly horizontal. <br />
<br />
<br />
<br />
<br />Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com0tag:blogger.com,1999:blog-5824590.post-73567017760031931132017-06-02T08:16:00.000-04:002017-06-02T09:28:30.476-04:00Atari Starship 1After a "short break"...I'm working on MAME again. :) After all the excitement about the discovery of an <a href="https://edfries.wordpress.com/2017/03/22/chasing-the-first-arcade-easter-egg/">Easter Egg in Starship 1</a> earlier this year, I decided to take a look at some of the shortcomings of this driver.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzV2VzSlrhAPT3Z4BfzfUCHeMcb1vG7s2XM05oxFfVHNO-MskPQi-i8kdzE55BtdOzREFBQAIhx4Dn4mpJH4y2ORg9Behqsp3vq1ydOpziE3TmI42-aXVmnkz24VWM-JjopBziQ/s1600/starshp1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1118" data-original-width="850" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzV2VzSlrhAPT3Z4BfzfUCHeMcb1vG7s2XM05oxFfVHNO-MskPQi-i8kdzE55BtdOzREFBQAIhx4Dn4mpJH4y2ORg9Behqsp3vq1ydOpziE3TmI42-aXVmnkz24VWM-JjopBziQ/s320/starshp1.png" width="243" /></a></div>
<br />
<br />
The first issue relates to the way the spaceships explode. In MAME 0.185, the ships "get brighter" and then disappear in MAME, but in the original game they appear to flip around as well. Strangely, the wrong sprite is sometimes used when the flipping occurs, so a hack was placed in the driver to stop the flipping. I honestly don't remember who added the hack - it might have been me :) (Back in the day there were no handy Youtube videos of the actual gameplay available - like this great one from <a href="https://www.youtube.com/watch?v=-crXVuoKlL4">Arcade Jason</a>) In any case I removed this hack for MAME 0.186.<br />
<br />
In the Easter Egg article, they mention the "Fast/Slow" throttle controller. It looks like the kind of controller which should toggle, but apparently it actually goes back to Slow if you let go of it. This is a trivial fix, and I have it in my <a href="http://www.github.com/palazzol/mame">github</a> already. See the original controller on the right here:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZqewilJ6dImXdNPg-LxQra6guwmeqA3RXF2VcI9DstplNGpHzY-4UwXN2A_Y70PbMx0JWPGx7vMK2BWGrZwbVyfR5EXZB6ujYOfYrDP4BOHFsDe32pVhUCj_kuUbKc77bTO6Cpg/s1600/starshp1_controllers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="287" data-original-width="450" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZqewilJ6dImXdNPg-LxQra6guwmeqA3RXF2VcI9DstplNGpHzY-4UwXN2A_Y70PbMx0JWPGx7vMK2BWGrZwbVyfR5EXZB6ujYOfYrDP4BOHFsDe32pVhUCj_kuUbKc77bTO6Cpg/s320/starshp1_controllers.png" width="320" /></a></div>
<br />
<br />
The next issue relates to the speed of the emulation. The schematics for Starship 1 are buggy, and the video timing really doesn't make sense. I used a combination of reference videos and photos of the PCB to conclude that the video timing circuit is very much the same as Atari Destroyer, and Super Breakout. The Horizontal Line rate (rate to draw one scanline) is 15750Hz and the Frame rate is 60.114Hz, when using a crystal of 12.096Mhz. This also makes the game timings correct. (the game runs for a "certain time" instead of a certain number of lives). This is fixed in my github as well.<br />
<br />
Now, there are two issues left that I know of. The planets that get created always originate "centered on the screen", which seems to make the MAME version much harder than the actual - I need to look into this, but I think it relates to the calibration procedure of the original game, which was required at setup time and is described in the manual. This needs more analysis.<br />
<br />
And finally - the scaling of the spaceship sprites. Atari used a <a href="https://www.google.com/patents/US4107665">patented</a> circuit involving analog circuitry to scale these images. The patented circuit actually creates sprites which are "directly proportional" to the size that the game requests. In other words, there is a simple scale factor to sort out. Unfortunately, it's tough to sort it out definitively, without access to the real hardware, or building up a circuit yourself. To make matters slightly worse, the real circuit used in the game is slightly simpler, which means there is a more complex relation between what the game commands and the actual size of the sprite on the screen. I will most likely need to build the circuit and measure it at some point. For now, the approximation in the code seems to work pretty well.<br />
<br />
I created the first driver for Starship 1 way back when, and Stefan Jokisch updated it and submitted to MAME back in the early 2000's. I put in the one fix for MAME 0.186 and at least the next two fixes should make it for 0.187. This should be enough to close out the <a href="http://mametesters.org/view.php?id=3041">corresponding bug report on mametesters</a>. Aside from Starship 1, and I have a few more ambitious emulation projects...but I'll save them for the next update.<br />
<br />Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com3tag:blogger.com,1999:blog-5824590.post-62298002787373289232010-08-26T20:18:00.000-04:002010-08-26T20:18:25.322-04:00And so it begins.....the Great Garage Cleanout of 2010 that is. <br />
<br />
Well, I have to make room, so the arcade games are starting to go. Gremlin "Comotion" and Midway "Extra Bases" were parted out today. The dead husks are sitting out at the curb as I type. I kept the PCB's and took some last photos which I'll add a little later.<br />
<br />
These were both used to develop the MAME drivers. I created "blockade.c" based on Comotion and some schematics from Al Kossow. The Midway "Extra Bases" cocktail contained a Black and White monitor, which was interesting because the game at that time was in color in MAME. It turns out that the game had a dip switch, which could either drive a Black and White monitor directly with the Luminance output, or in another configuration, drive the color conversion board and play the game in color. This was sort of "unknown" or at least not well known at the time in the MAME circles.<br />
<br />
Ironically, as I pulled the monitor out of the "Extra Bases", I noticed it had some burn-in from "Blockade", which is basically the same hardware as "Comotion". (Obviously not the original monitor)<br />
<br />
These two games were bought from two different places, but being of similar vintage I guess I shouldn't be surprised.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com2tag:blogger.com,1999:blog-5824590.post-63560024875179152572010-04-16T12:10:00.000-04:002010-04-16T12:10:08.861-04:00Vintage Gaming Party @ PenguiconI am planning to have a hotel room party at <a href="http://www.penguicon.org/">Penguicon</a> this year, bringing my old game consoles out of storage. (Actually two parties, one on Friday and one on Saturday, if all goes well.) <br />
<br />
I started by testing out a Coleco "Telstar" Pong and the Atari 2600 yesterday. You can see my team of playtesters trying out some "big-screen" Pong action here:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMlIS0oSeBylnilNJ0HrzPp1fQOoVWLFuY8YZobnMrdaCpzCcHcLOm2Bk5LZcbzI5PFYpcwyyv9iAU6J10BUZUeFbm-KbdBMXRW1l7mF8tDg5LBJuplEOrmIP1cHQ8BMY7PhfjIg/s1600/pong.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMlIS0oSeBylnilNJ0HrzPp1fQOoVWLFuY8YZobnMrdaCpzCcHcLOm2Bk5LZcbzI5PFYpcwyyv9iAU6J10BUZUeFbm-KbdBMXRW1l7mF8tDg5LBJuplEOrmIP1cHQ8BMY7PhfjIg/s320/pong.jpg" /></a></div><br />
<br />
Here is just a taste of the excitement in store... :) Next I'll be pulling out the Intellivision, Vectrex, and whatever else I can dig up. If anyone has some smallish TV's (preferable analog!) they want to loan for the weekend, I could probably use them.<br />
<br />
Perhaps I'll throw in some Apple II games, or some other system emulators. Moria/Angband? Text Adventures? Trek? Am I crazy enough to bring in a full-sized arcade game? The possibilities are endless, but the hotel room is not, unfortunately. If only I had a TARDIS...Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com0tag:blogger.com,1999:blog-5824590.post-77862940549717604292010-04-03T00:29:00.001-04:002010-04-03T08:25:42.642-04:00The Mathematics of Calendar Reform<div class="separator" style="clear: both; text-align: left;"></div><br />
The Gregorian Calendar is inconsistent, and there is only so much we can do about it. The earth takes about 365.24 days to go around the sun. The number of days in the year are nicely controlled with leap years and leap seconds, to make this work out.<br />
<br />
We have a tradition of the 7-day week. We have a tradition of months which are 28 or 30 or 31 days long. But worst of all, each year starts on a different day of the week, forcing us all to have new calendars each year.<br />
<br />
So, can we do better? Sure we can. Let's look at the numbers:<br />
<br />
First, every number can be expressed as a series of primes multiplied together, called a "prime factorization".<br />
<br />
365 = 5*73<br />
<br />
Yuck. Well, if we want 5 seasons of 73 days each, we are all set. I don't think so :)<br />
<br />
364 = 2*2*7*13<br />
<br />
This has potential. We could have 7 day weeks, 4 weeks in a month, and 13 months. Plus one day every year which is outside the "days of the week". A kind of yearly holiday for the 365th day. And on leap years, we need one more day like this. Then, every year would have the same pattern. Indeed, these kinds of 13-month systems have been proposed, and even used occasionally. The most recent version is probably this one:<br />
<br />
http://en.wikipedia.org/wiki/International_Fixed_Calendar<br />
<br />
I admit they are probably the most elegant, but I think the world will not readily switch to 13-month calendars.<br />
<br />
So, we have two other choices. Give up months altogether, and go with 7*13 = 91 day quarters. This has also been proposed:<br />
<br />
http://en.wikipedia.org/wiki/World_Season_Calendar<br />
<br />
The other choice is to stick with three months in a quarter, with one month getting 31 days and the other 2 getting 30 days. I tend to think this is the most reasonable course of action. Here is a calendar system that works this way:<br />
<br />
http://en.wikipedia.org/wiki/World_Calendar<br />
<br />
Now, so others have proposed that, instead of having a day or two each year outside of the week, we should stick with 7-day weeks all year, but change the number of weeks per year to keep the calendar with the right "average days per year". These so-called "leap-week" calendars are interesting, but I think they would tend to drift a little too far from the astronomical events for my tastes. The first day of each season would drift around by a few days each year.<br />
<br />
Anyways, for more info on this subject, look up "Calendar Reform"<br />
<br />
Two good sources are wikipedia:<br />
http://en.wikipedia.org/wiki/Calendar_reform<br />
and this one:<br />
http://personal.ecu.edu/mccartyr/calendar-reform.html<br />
<br />
I'm in favor of The World Calendar, how about you?<br />
<br />
<div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwGX-o2s-kaLr2qLM7N102ZQ3WzDO7qKnw8ekyB4kWaiE6jM6be_sJWBxesDMkdrgYSVHOY8WW0BWajrXWK961p8x4kZvtkNdTN4xn3Z18QysS2VXv7-7pm2nyHuREwmyYKY7JCw/s1600/calendar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwGX-o2s-kaLr2qLM7N102ZQ3WzDO7qKnw8ekyB4kWaiE6jM6be_sJWBxesDMkdrgYSVHOY8WW0BWajrXWK961p8x4kZvtkNdTN4xn3Z18QysS2VXv7-7pm2nyHuREwmyYKY7JCw/s320/calendar.png" /></a></div>Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com1tag:blogger.com,1999:blog-5824590.post-10832750745706936802010-03-20T22:54:00.012-04:002010-03-20T23:21:23.180-04:00Blockbuster 'n4 - by Elcon Industries<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU3MFRUQ7L5Xf_HNVHk4LERy6WE4owBPBhhb9Ldq_WIITOopweI61EaQS37txHVMJJ2enN42osx3LEzdb3f46LHmpq9uhqQFt4Jho28wyxWlt3lk7g9Khw5nCx-kIZl8PITZMWkg/s1600-h/fullview.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 239px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU3MFRUQ7L5Xf_HNVHk4LERy6WE4owBPBhhb9Ldq_WIITOopweI61EaQS37txHVMJJ2enN42osx3LEzdb3f46LHmpq9uhqQFt4Jho28wyxWlt3lk7g9Khw5nCx-kIZl8PITZMWkg/s320/fullview.jpg" alt="" id="BLOGGER_PHOTO_ID_5450915469411332802" border="0"></a><br /><br />I'm going to be getting rid of some of my videogames. They take up too much space, and I'm never going to get around to repairing them all. This one is from a company called Elcon Industries, formerly of Royal Oak, MI. It is a discrete logic game (I assume), with 5 different games available. (The marquee actually says "Blockbuster +4", which makes more sense.) <br /><br />I assume these are all variations on Pong/Breakout/etc. As you can see, it's not working properly, but it does run through the "attract mode" on power up.<br /><br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dw6dS7c6Onz1gYwTVa6g4uHBN4jlw4e3_25yR2hzAmJExoZOWPag-d4hLts2fCy2dLILweh4g4UJTg' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br /><br />I'm wondering if this is an original game, or a clone of an existing one?<br /><br />You can see some graphics glitches, but it is kind of interesting. The Cosmic Attackers game I have from the same company had a Sega Space Attack PCB inside.<br /><br />Here are some more stills:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejaGwOJHv_nk9gOIyiFoK3C0TUC7Yqfy5yzngmwk4cUBKzUz7HZVozsE06_Fb35o-tIziBtrPwYaVPuilowkiAxzMQq3WjOx1AmZTWy1Nh1ia6_abtLfmJX12z7TPrxdSq5Kyag/s1600-h/frontview.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 239px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhejaGwOJHv_nk9gOIyiFoK3C0TUC7Yqfy5yzngmwk4cUBKzUz7HZVozsE06_Fb35o-tIziBtrPwYaVPuilowkiAxzMQq3WjOx1AmZTWy1Nh1ia6_abtLfmJX12z7TPrxdSq5Kyag/s320/frontview.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450917054738258130" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfy02F-K3HsOONA5a-ucxTHXgvdFKwHo8tCMDFp1VLlnWxrrbPVUxySaAXDZ4yEEHe_GFSOA3iJ44Gobbzha1HK7RBTfJIITrpwNwTgV9kNsn5_U8bd94w53ycWxuKss4P5V2UAQ/s1600-h/attract1.jpg"><img style="cursor:pointer; cursor:hand;width: 239px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfy02F-K3HsOONA5a-ucxTHXgvdFKwHo8tCMDFp1VLlnWxrrbPVUxySaAXDZ4yEEHe_GFSOA3iJ44Gobbzha1HK7RBTfJIITrpwNwTgV9kNsn5_U8bd94w53ycWxuKss4P5V2UAQ/s320/attract1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450917511390893762" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpDqSFZ5CrvsEfyC1xu2qe2IGwj0OZRTZvuZ-kr4pAZiQLyj2S6IuIDqf4TP2jnU3BFbCL7xjJOMj26xMmYm1TE5w9UaqYZIbX_0_G609u53N1OzgdTZ9mwMX9q-snTacBAo5UBw/s1600-h/attract2.jpg"><img style="cursor:pointer; cursor:hand;width: 239px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpDqSFZ5CrvsEfyC1xu2qe2IGwj0OZRTZvuZ-kr4pAZiQLyj2S6IuIDqf4TP2jnU3BFbCL7xjJOMj26xMmYm1TE5w9UaqYZIbX_0_G609u53N1OzgdTZ9mwMX9q-snTacBAo5UBw/s320/attract2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450917884400512546" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJof5w1reTOXpdd10AMwwZWh6xCUUAGltaU1U_Mtf4H6e-dnF1pF_Lz6LENNkJ75eqsRaNrbvF1t2Ml2kF3pI5mv_kHyrBRPvYeR_seGdHdmrwRuAQ2hiW-JkV6P043fDJhU8UA/s1600-h/attract3.jpg"><img style="cursor:pointer; cursor:hand;width: 239px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJof5w1reTOXpdd10AMwwZWh6xCUUAGltaU1U_Mtf4H6e-dnF1pF_Lz6LENNkJ75eqsRaNrbvF1t2Ml2kF3pI5mv_kHyrBRPvYeR_seGdHdmrwRuAQ2hiW-JkV6P043fDJhU8UA/s320/attract3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450918004591314034" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0kYM-LxNmWN1076tAqevAxfFHhxNvBGbJHZJypSW1Ys2EZVHBMPYSB-Ykegc5iJHKZKoY-NYBfDZpf19LKwx2lH47towwfl6jYkW2Fyv9dzuvqhCcFylbGuoEuzsuB1MBypXeSA/s1600-h/attract4.jpg"><img style="cursor:pointer; cursor:hand;width: 239px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0kYM-LxNmWN1076tAqevAxfFHhxNvBGbJHZJypSW1Ys2EZVHBMPYSB-Ykegc5iJHKZKoY-NYBfDZpf19LKwx2lH47towwfl6jYkW2Fyv9dzuvqhCcFylbGuoEuzsuB1MBypXeSA/s320/attract4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5450918094856463138" /></a><br /><br />You can see that it also has a few bulbs which light up some game description text, and there is also a single "seven-segment"-style display for good measure. I'm not sure what that is for.<br /><br />I'd love to hear from you if you have any info on this game, or others like it, or info on Elcon Industries, or ideas on what to do next :)<br /><br />I don't have the key to the back of the cab, and I haven't "broken into" the back to take a look at the circuit board yet. I think that might be the next step.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com3tag:blogger.com,1999:blog-5824590.post-65658499773568327092010-02-06T22:13:00.006-05:002010-02-06T22:43:54.936-05:00Math problem #1 - piecewise approximating functionsI'm the kind of person that can get very interested in things that others might not notice. For me, his seems to occur from time to time with math problems. I'll be thinking about an engineering problem, and I will get caught up with some mathematical aspect of it. Usually, it's some problem which is easy to state but not obvious to solve. (Then again, I'm not a mathematician)<br /><br />Over the years, I've gathered up a list of these problems. And now, I'd like to share some of them on this blog. I hope some of you, at least, will find them as interesting as I do.<br /><br />---<br /><br />Today's problem is fairly simple to state - and I thought about it for the first time many years ago. Suppose I have a continuous function y=f(x), defined on an interval from x0 to xn. I know _everything_ there is to know about the function. Now, for some reason, I need to approximate the function using a "piecewise-linear" function. This is just a set of straight lines connected together at "break" points. (You can also think of this as an approximation based on splines.)<br /><br />For say, a fixed number of break points, what is the "best" way to approximate the function? (BTW - this is something that is practically done all the time, in embedded computer programs, using "table lookups" to approximate functions)<br /><br />Some clues:<br /><br />For a given set of breakpoints located at each x_i, you can start by picking the breakpoints at (x_i, f(x_i)). In other words, points on the curve f(x), and connecting the points with straight lines. However, you will quickly notice that the approximation is biased, based on the concavity of the curve.<br /><br />A better way for a given set of points at x_i, is to solve the linear least-squares problem to find the optimal y values, which minimize the error between the approximate curve and the actual one.<br /><br />But the key question seems to be - how do I locate my points in x? I see no easy way to do this, without non-linear iteration. It seems strange that it is trivial to locate the points in Y given X values, but hard to locate the X values. I can imagine some heuristic rules like "I should use more breakpoints where the function is 'curvier'". But it's not at all clear what this means :) Maybe I need to think about the meaning of "best" a bit more.<br /><br />So, to summarize, we have a situation where we have a function which we know everything about, and a simple space of approximating functions, but we seem unable to match the two together, without resorting to nonlinear iteration.<br /><br />If this one is too easy for you, feel free to handle extensions to this problem with higher order piecewise splines, and/or multidimensional functions. :) I can imagine practical applications for a good algorithm in this area.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com7tag:blogger.com,1999:blog-5824590.post-18453673383165644192008-08-14T15:26:00.003-04:002008-08-14T15:28:39.431-04:00Yikes - more than 2 years without blogging!Not the kind of anniversary I wanted to celebrate. Anyways, I'm in the middle of a move to a new house, and work is heating up. So, hopefully around October, things will settle down...and I will try to post something more regularly.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com6tag:blogger.com,1999:blog-5824590.post-1147097775242325142006-05-08T09:48:00.000-04:002006-05-08T10:32:13.410-04:00The Road to RealityI have been interesting in Physics as a hobby for a very long time. Back in the mid-90's, I was reading about Quantum Mechanics and Relativity on a fairly regular basis. I had to really dig to find books that were deeper than a purely "popular" treatment, but not so deep that an engineer could actually make sense of them. Some math, not all math.<br /><br />Having been trained as an engineer is "almost enough" to handle "some" of the math, but I ended up with an awfully long road ahead. I eventually got a bit discouraged, but never quite gave up. (Emulation came along and I got a bit distracted for a number of years.)<br /><br />In 2004 <a href="http://en.wikipedia.org/wiki/Roger_Penrose">Roger Penrose</a> wrote a giant book on Math and Physics, call <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0679454438/">"The Road to Reality: A Complete Guide to the Universe"</a>. It is a highly mathematical, modern treatment, but it builds on itself such that, theoretically, someone with some math background can actually understand it all. (At least, they'll be able to self-direct to other resources as needed.) There are 16 chapters of Math (the first 1/3 or so), followed by as many on Physics. For comparison, my formal math training ended at chapter 7. I now find myself in chapter 15, nearly finished with the math section. It is definitely not for everyone, but it's exactly what I needed.<br /><br />Finally, I have found that discussing the details of the book can help a lot with the understanding. I recently created a Yahoo Group called <a href="http://groups.yahoo.com/group/rtrfans/">RTRFANS</a>, for just this purpose. With this book, and with internet resources that weren't available in the mid-90's, I've now got a shot at understanding truly modern physics.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com0tag:blogger.com,1999:blog-5824590.post-1147096071543178732006-05-08T09:35:00.000-04:002006-05-08T10:30:47.456-04:00Some porting workI really need to post more often!<br /><br />For a while now, I've been wanting to experiment with new methods of high-speed circuit simulation. The idea would be to prototype some discrete-audio stuff, possibly for MAME, using something like Python.<br /><br />After looking into the requirements, I realized that I needed to handle polynomials with a single variable, and ratios of these polynomials. Also, I needed to be able to handle real or complex variables. I looked around on the web, and I found that <a href="http://www.scipy.org/">SciPy</a> is finally coming along nicely on Windows. However, I wasn't entirely happy with the root finder they use.<br /><br />Along the way, I also found the <a href="http://calcrpnpy.sourceforge.net/ratfunManual.html">ratfun</a> package, which looked perfect, but was unsupported on Windows. I dug in and in a couple weekends, got it building under Windows. I think I'll be using it for the experiments, whenever I get back to it.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com1tag:blogger.com,1999:blog-5824590.post-1139343154785777162006-02-07T14:37:00.000-05:002006-02-07T15:15:33.330-05:00The Joy of LaTeXOk, I'm a geek. Over the past 10 years or so, I've worked on a handful of math and engineering problems that I thought were interesting. Yes, most of them were "spare-time" activities, although a few were inspired by work stuff. I recently made a list of all of them, and I suddenly had the urge to publish them. Maybe some other people will find these things interesting as well.<br /><br />At any rate, I wanted a way to publish them with all the math equations, as well as generate PDF's and HTML. I had heard about LaTeX for a long time, but now I had a fine excuse to give it a try.<br /><br />I first tried the <a href="http://tug.org/texlive/">TeXLive</a> distribution, but I never could get it to work on Windows. (Maybe this has been fixed since then) Then I tried <a href="http://www.miktex.org/">MikTeX</a>. It was a fairly straightforward installation. After working out a few examples, I was hooked. My first draft of a test article turned out pretty well:<br /><br /><a href="http://www.avoidspikes.com/textest/gamma.html">http://www.avoidspikes.com/textest/gamma.html</a><br /><br />I use pdflatex to generate pdfs and htlatex (part of tex4ht) to create html + pngs.<br /><br />At any rate, it's nice to see that free software can be used to do professional typesetting. I'm planning to use this stuff to document my math problems, as well as some theory behind discrete sound filtering in MAME.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com3tag:blogger.com,1999:blog-5824590.post-1136924464179537202006-01-10T12:10:00.000-05:002006-01-10T15:27:19.676-05:00Actual MAME-related work!For those who haven't heard, the speech chip used in Berzerk has been reverse-engineered by "Lord Nightmare"! This is something I've been waiting for for about 7-8 years! I'm sure that the emulation will end up in MAME and PinMAME sooner or later.<br /><br />Because of this, I spent some time over Christmas looking at the analog filters on the Berzerk speech board. (These are applied to the sound after it comes out of the chip.) I finished the analysis, and it should be pretty straightforward to add them into MAME after the chip emulation is done.<br /><br />For what it's worth, I've been trying out <a href="http://maxima.sourceforge.net/">Maxima</a> with <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> to do the symbolic math for circuit analysis. I know, I could have used SPICE or something - but doing the math from scratch makes it easier to understand what is going on.<br /><br />After I worked out about half of the math for these filters by hand, I ended up with about 6 pages of algebra. At this point, I figured I should use this as an excuse for learning Maxima. Sure enough, I found an error on page 5. Darned minus signs! :)<br /><br />The second half of the analysis took about 5 minutes, since the code from the first half was already done, and I could re-use it!<br /><br />For those who care - the filter is a third-order lowpass - a first order lowpass, followed by a second order with a resonant peak around 2400 Hz.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com11tag:blogger.com,1999:blog-5824590.post-1128953825261402152005-10-10T10:01:00.000-04:002005-10-10T10:17:05.276-04:00Firefly and SerenityWell, I did it. I managed to watch all the Firefly episodes before checking out the movie, with two hours to spare :)<br /><br />I've got to say, with every episode I watched, I enjoyed the series more. The writing and character development is really well done, and it's pretty darned funny to boot. I can't believe they canceled it just as it was taking off. It was kind of the opposite of what Star Trek and Star Wars have been of late. Less tech, and much more fun. And this is from a guy who has a penchant for hard science fiction.<br /><br />At any rate, I also enjoyed the film. I went with three others who hadn't seen Firefly, and they seemed to like it as well. I think it's quite a tough job to introduce this world and so many characters to an audience who may never have seen the series. Still the movie seems to do all this and more, with entertainment value that is missing in many other sci-fi films of late.<br /><br />However, I actually think this whole concept works better as a TV series, rather than a series of movies. So, now I join the ranks who are hoping someone will bring back the TV show in some incarnation.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com5tag:blogger.com,1999:blog-5824590.post-1128367553092532232005-10-03T12:31:00.000-04:002005-10-03T15:26:31.096-04:00More non-emulation news :)I have still been up to my neck in "real work". I hope it will slowdown in the next month or so. When I do get a few minutes - I am trying to read, and maybe catch up on TV a little.<br /><br />I'm carving out enough time to finish Neal Stephenson's "Baroque Cycle." I find these books to be amazing. Exciting, intellectually challenging, but very rewarding. I feel like I've actually visited the late 17th and early 18th century. And Neal's themes about science, technology, commerce, etc. are quite intriguing.<br /><br />As I side note, I TiVo'd the whole "Firefly" series, which I'd like to watch before I go see "Serenity". I haven't heard anything but good things about the movie.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com1tag:blogger.com,1999:blog-5824590.post-1123789356417327362005-08-11T12:31:00.000-04:002005-08-11T15:42:36.426-04:00I'm still here...!Ok, I haven't done much on MAME at all, except that I bought a Zero Hour board on eBay. Hopefully I can improve the driver when I finally get time to work on MAME again, now that I'm intimately familiar with the starfield generator circuit. :)<br /><br />I've been extremely busy with work and home life. One weekend, I built a <a href="http://www.sunraypremiumplaygrounds.com/">giant play system</a> for my kids. A lot of work, but it turned out pretty nice!<br /><br />Finally, for those who visit my horribly outdated web pages at dsplib.com, - I'm giving up the domain. You can still reach those pages <a href="http://www.avoidspikes.com/dsplib/">here,</a> until I move them again. Pay no attention to the inactive blog pages there :)Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com2tag:blogger.com,1999:blog-5824590.post-1118844392280221512005-06-15T10:02:00.000-04:002005-06-15T10:06:32.286-04:00MAME QuickiesI've submitted 2 updates to MAME in the last 3 days. The first is the much improved Space Raider. The second one hooked up the starfield generator code to Zero Hour and Red Clash. I'm still planning to write up something bigger on this - describing how it all works - but I've been too busy this week.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com3tag:blogger.com,1999:blog-5824590.post-1118556730163834412005-06-12T02:08:00.000-04:002005-06-12T02:12:10.170-04:00Space Raider Stars - doneJust a quick note to say that I've got the graphics on Space Raider 100% correct, including the starfield behavior. I've still got a couple things to look at, but my plan is to submit a driver update tommorrow. I'll try to add some screenshots a that time as well.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com2tag:blogger.com,1999:blog-5824590.post-1117052153543160122005-05-25T11:53:00.001-04:002010-03-20T23:49:52.587-04:00Speed CoinI've had almost no time to finish Space Raider lately, so I thought I'd talk about the history of a game I own - Speed Coin.<br /><br /><img src="http://www.avoidspikes.com/dsplib/personal/pictures/medium/DCP00034.JPG" /><br /><br />As far as I know, I'm the only one with a Speed Coin cabinet. It's definitely a prototype, as the cabinet is made of nice plywood and not particle board. Also, the marquee and control panel are made of colored paper, colored electrical tape, and a blown-up xerox copy of a coin face. My understanding is that it came from Stern when it shut down.<br /><br />The boardset is a Scramble, with hand-labelled ROM chips inside. Also, the wiring harness is different, since it only requires a 2-way joystick.<br /><br />When I went to plug this into the Scramble driver in MAME (back in 1999!), I was stymied by the fact that the background was blue in MAME, but black on the "real thing". I traced through the PCB only to find that the monitor was adjusted with the blue gun turned off! When I adjusted it, it matched MAME exactly.<br /><br />In case you are wondering about the sound, the music sounds kind of muted and noisy on the real thing, just like in MAME.<br /><br />Last year, I was stunned to play Speed Coin in an arcade in Nashville, Tennessee. It turns out the <A href="http://www.ultracade.com/">Ultracade</A> guys added that game to their Multigame system, under "Arcade Classics"?!. I'm sure they used the ROM images I dumped in my basement, and here it was on a machine in another city. Pretty strange feeling.<br /><br />I really don't think it's a classic. More like "Arcade Relics". :)<br /><br />Oh well, I'll get back to Space Raider this weekend, hopefully. I have a newly-found JAMMA harness and a brand new <A HREF="http://www.jrok.com/hardware/RGB.html">RGB-to-TV adapter</A> which should make things easier. With that, I'll be able to take screenshots from actual boards, and compare them with MAME.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com7tag:blogger.com,1999:blog-5824590.post-1115142286336639792005-05-03T12:33:00.000-04:002005-05-03T13:44:46.336-04:00Space Raider StarsWell, I found time to make a few more discoveries. The Space Raider boardset is 3 PCB's. Two of them are full size and obviously two halves of the same design. Then, there is a little PCB grafted on top, connected via a 24-pin dip connector, with wires going to the other two boards.<br /><br />I suspected that this board was the starfield generator. Sure enough, if you unplug it and run the board, the stars disappear. Cool - less work for me.<br /><br />Then, I noticed something else. Two chips were missing from the board, and it was labeled with the number 8011, unlike the other boards. Maybe this board is from another game? Searching through the MAME code, there is a comment that Universal game #8011 is Zero Hour.<br /><br />Luckily, a manual and schematics are available for Zero Hour. The starfield board is the same! In Zero Hour, this board provides both color generation and stars. The missing chips in Space Raider disable the color generation part, since that's already on the main board.<br /><br />Anyways, I added preliminary support for the scrolling stars to MAME, and it looks right. I need to measure a few more things to get the timing exact. When I'm done with Space Raider, I'd like to add the stars to the Zero Hour / Red Clash driver, since it's missing there as well.<br /><br />As a side note - I hope these posts are interesting to someone. I think it's kinda cool to document the little things that it takes to get a MAME driver right.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com11tag:blogger.com,1999:blog-5824590.post-1114021562347796512005-04-20T12:19:00.000-04:002005-04-20T14:26:02.346-04:00Space Raider - updateLast night I got a bit further. I fixed up the cocktail mode, and decoded all the dip switches except one. I also found and decoded the bits which control the scroll speed and direction of the starfield. Finally, I found a "hidden" test mode while disassembling some of the code. (Hold down the fire button while resetting the game.) The todo list is getting shorter...!Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com0tag:blogger.com,1999:blog-5824590.post-1113792352815534782005-04-17T22:36:00.000-04:002005-04-17T22:45:52.816-04:00Space Raider graphics fixesI got my JAMMA cabinet running again, built the Space Raider-to-JAMMA adapter, and got the board up and running over the weekend. This allowed me to fix most of the graphics problems with the driver! (Most notably, the grid is animating properly now, and it's the right color.)<br /><p><br />The only thing that's noticable now is the lack of a background starfield. Without schematics, this will probably take a long time to get right.<br /></p>Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com4tag:blogger.com,1999:blog-5824590.post-1113166087478421982005-04-10T16:45:00.000-04:002005-04-10T16:48:07.480-04:00Atom syndication and blogger formattingI'm not sure why my paragraph breaks are only showing up "sometimes" in the atom syndication of this blog. If someone has a clue, I'd love to hear it. I think it might have to do with whether I'm editing in HTML mode or not. Oh well, what do I expect for free... :)Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com4tag:blogger.com,1999:blog-5824590.post-1113165643748532002005-04-10T16:09:00.000-04:002005-04-10T16:40:43.750-04:00The Car of the FutureThis weekend, I had the pleasure of test-driving a <a href="http://www.toyota.com/prius/">2005 Toyota Prius</a>.<br /><br />For those who don't know, this is a hybrid vehicle built from the ground up by Toyota. The engineering that has gone into this car is amazing. It has an internal combustion engine, and 2 electric motor/generators. They are connected to the wheels by an innovative planetary gear arrangement, which is basically simpler than an automatic transmission, yet has all the benefits of a continuously-variable transmission. There are other hybrid vehicles available, but as far as I know this system is the only one that's not really an "electrically-augmented internal combustion vehicle", with the exception of the Honda Insight which is a 2-seater. Toyota will be putting it into their Highlander SUV this summer.<br /><br />For many more details and pictures, I recommend the web site of a <a href="http://john1701a.com/">Prius owner</a>.<br /><br />The strangest thing about this car is getting going. Insert your key fob into a slot on the dash, hold down the brake, and push the power button on the dash. The shift-by-wire control is built into the dash as well, so you simply temporarily move the knob to D for drive, and away you go. After that, everything is surprisingly normal - except it's almost silent until the engine turns on. The gasoline engine turns on and off as engine load or electrical loads demand. The window sticker says 60mpg city and 51mpg highway, and even though you'll probably never see those numbers in real life - I think you'll get 40-50 mpg in city driving no matter what. Oh yes, and emissions are reduced by 90% over a conventional vehicle.<br /><br />It seems to have plenty of power. Although it's not meant as a performance vehicle, you have no trouble whatsoever merging into freeway traffic, for example. It's also got plenty of room - bigger than a compact car.<br /><br />Right now as they ramp up production - they can't make enough of these cars. I just happened to get to my dealer when one showed up, and there were people in line behind me to buy it. Even at sticker price from $22K to $26.6K, these are very reasonable cars and look pretty distinctive as well.<br /><br />I ended up buying a Corolla instead, but not because of any shortcomings of the Prius. It was a choice between the high-end Prius which had a bunch of gadgets I don't need, and a $17K car which would do exactly what I needed. Still, I can't help but believe that my next car will be a hybrid.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com1tag:blogger.com,1999:blog-5824590.post-1112888931126027042005-04-07T11:46:00.000-04:002005-04-07T11:48:51.126-04:00Space RaiderI first worked on this driver last year, after Pierpaolo started it. (It's currently playable, but there are plenty of graphics glitches.) Unfortunately, I was unable to make any further progress without access to the physical hardware.<br /><br />So, now I have the Space Raider board on my workbench, and I'm slowly making progress. It's amazing what one person can do with a multimeter, some databooks, and time. :)<br /><br />Right now I'm concentrating on the I/O section for the sound cpu. In case anyone's interested, this is how I'm proceeding. First, I found the 5 sound chips and backtraced them to the address decoder for all the IO ports. Now I'm going through ports 0x28-0x2f, 0x30, and 0x38 and figuring out which bits are being used and for what purpose. Ports 0x30 and 0x38 go to a bank of 8 4051 analog mux IC's. They each have graduated resistor ladders connected to them. Maybe they are a fancy volume control or an analog filter. I should be able to get that figured out soon.<br /><br />Additionally, I'm making up a harness to use to power up the board. I discovered <a href="http://www.jammaboards.com/">jammaboards.com</a>, and they had everything I needed for <$15. I'm hopeful that I can get a lot more information by actually playing the game! :) It will be very nice to get the grid behavior correct.Knarfianhttp://www.blogger.com/profile/14149452918414200882noreply@blogger.com1