The starfield now move up and down, following the sine wave, though in 8 line jumps. Smooth scrolling is next, but that requires some display list & display list list magic.
I've also started using a 6502 simulator for general debugging. Since a lot of 7800 code is data movement, it's reasonable to use a general 6502 simulator. I caught a couple of bugs this way. The biggest problem is the built-in assembler isn't DASM compatible and isn't as capable.
I've also made some major im
Ta-da! This is something I've been wanting to do for a long while - a VCS music tracker format. Forgive the tacky Fuji logo, it's the first VCS program I did years ago. I re-used it so I didn't have to spend too much time putting together something which would generate a stable screen.Format details:Two layer list format: top layer is a a song which is a list of 16 bit pointers to seqences (note lists); bottom layer are sequences which are a list of 1-n byte lengths, volume, notes and escape
The other day I decided I needed to set myself a goal to work on in Unity. A game project to help focus my self education.
What I settled on is a Battlezone style game. (Not a port - just the basic ideas.)
So one of the things I need is a tank to shoot at. Which means I need to create a model which Unity will then display. While I could download Blender (also free), that seems like overkill for something as simple as a Battlezone tank. What I wanted was something dead simple - an AS
Minor update from yesterday. The leprechauns now try to go towards the player when they stop before they go into hunt mode. (Which should help vdub_bobby's switchback level.) They also should drop off the ends of ropes when stopped.
I also flip-flopped on the drop-off detection, though I'm not certain whether I like it. The Leprechauns now turn around and go into hunt mode when the player is above them and they encounter a drop-off. Unfortunately, with my built-in level this causes them
Yesterday I bought an LG 55LM6400 (pick it up Tuesday) for C$1300. It's a 55" passive 3D HDTV. Again I declined the extended warranty - hopefully I won't have reason to second-guess that decision again. My buying decision started with passive 3D (which also implies LCD - but I would have gone with LCD over PWM flicker plasma anyway) as the glasses are cheaper, don't require batteries & give a more stable image to boot. Yes, there is some loss of vertical resolution, but I read some semi-
I love eBay. Where else can you easily buy something like a 25' headphone extension cord dirt cheap? Yeah, there might be a local supplier but I have no idea how to find them. And places like Radio Shack will charge you the item's weight in gold. It's the long tail idea.
And why did I want a 25' headphone extension cord? To connect my old TiVo on the first floor to a computer in the basement via it's serial port to retrieve guide data. So now I can use the TiVo's far superior search &a
Although I keep trying to limit the number of projects I'm working on at one time, I keep adding new ones.My latest is TiVo. I realized that my wife has several shows that she enjoys watching which often get taped & watched later due to RL scheduling conflicts. Hmm... we keep using the same tape over & over for time-shifting. Sounds like TiVo would be a good fit and an excellent birthday present. (October)Except for one snag. TiVo doesn't offer listings outside of the US & UK.
Back in late September when Apple announced the Haswell iMacs I thought it wouldn't be long before Apple would announce a Haswell update for the Mac Mini. But in spite of much forum speculation and rumor no update has occurred. I'm done waiting, so I will probably buy an iMac in the near future.
Which is funny, because when the Haswell iMacs were announced that was what I was going to do. But then a coworker pointed out the wisdom of keeping the screen & CPU separate (so the screen co
Well, I mentally looked at the list to Leprechaun to-dos and decided that I needed to tackle the BLIT routine next. This is the code which copies the sprite graphics (running etc) from ROM to the strips of SuperCharger RAM that the kernel then uses. (Much like the 5200 & A8s.)And I'm glad I did, because I discovered (to my horror) that the routine barely fits in the time between the end of VSYNC and the start of the kernel. (Actually, I had to increase that time by a couple of lines even.
I have been looking at the TIA schematics to better understand how the "Audio Noise Generator" works. (The noise generator is on page 4, although there are details of the register blocks on page 1.) Really the ANG is three separate chunks. 1. AUDF - which divides down the 2 * HSYNC clock signal and creates the T01 and T02 clock signals. I haven't looked at this section in detail yet, although there may be some interesting bits around the timing of changing AUDF. I'm also going to assume that T
I've been toying with an idea for a 2600/7800 TIA music player for a while. The design point is to minimize the space required, near 1 byte per note. A single byte would contain both frequency and period (4 possible). Plus, there's 34 codes for notes which would be played for a single frame for percussion sounds.
Anyway, I'm wondering if anyone has a suggestion for AUDC/AUDF values for the single frame codes. e.g.
AUDC = 8 AUDF = 0 high hat
AUDC = 8 AUDF = 8 snare
AUDC = 15 AUDF =6 s
In the comments for http://atariage.com/forums/blog/148/entry-13844-blast-off/there was some discussion on whether the TIA could be used to generate speech. Previously I'd done some programming which tried to brute-force fit the TIA waveforms to music. The results were less than impressive, but speech might be simple enough to achieve better results. The waveforms were based on what I'd learned about the TIA Audio Noise Generator circuit, and documented in several blog posts (sorry about th
Continuing my adventure puzzling out the TIA schematic, I turn my attention to the AUDF section as a prelude to figuring out how the clock signal for the 4 stage shifter is generated.The Audio Frequency Divider takes two clock signals (A01 and A02)* and generates two clock signals (T01 and T02)* using AUDF[0..4]. So to start with we need to look back at page 1 of the schematic and Andrew Tower's TIA Hardware Notes to learn more about where A01 and A02 come from.A01 and A02 are based on the main
Okay, I've figured out how the clock for the 4 stage shifter is done and gone back through and reworked all of the equations now that I'm a little more used to keeping track of whether I'm changing a NOR to an OR or an AND (depending on whether I want the output or the inputs inverted). This isn't to say I couldn't get it wrong, just less chance.Q1-5 is the 5 stage shift registerQ6-9 is the 4 stage shift register
AUDC Q1in0000 1xx00 (Q5 XOR Q9) + !Q1*!Q2*!Q3*!Q4*!Q5*!Q6*!Q7*!Q8*!Q9yyxx (Q5 XOR
The lack of interest in creating levels for Slide Tilt Roll has put a serious black cloud over my plans to release it. Seeking some inspiration, I started watching the
But after watching the first two I started to think - what was my first game? Yes, I created Skeleton / Skeleton+, but I'm talking about before that - 'way before that. I know I did a few games for the Color Computer back in the 80s - I distinctly remember a simple racing game. (Probably done in Basic - it used text mode
A while ago my son asked when I was going to fix the Tempest cabinet. The fire cleanup crew removed the PC I was using to the Tempest cabinet and insurance wrote it off (although I did get the hard drive back). So the first step is to obtain a PC. MAME is still primarily a single threaded app, so I used https://www.cpubenchmark.net/singleThread.htmlto judge different processors. I figured a Core 2 Duo was probably what I wanted. I started looking at the lists of refurbished computers at loc
My Tempest MAME cabinet is coming along well. After some initial learning curve frustration, I now have 3D Arcade configured as a front end. It displays the games as 3D cabinets in a spinable cylinder. It still needs some tweaks and some additional setup, but it's now close enough to be usable. The main task is now going through all of the games and making sure they work and making any necessary configuration tweaks. In doing so, I've run into a problem...
MAME is, first and foremost, a
Due to my basement purge, my Tempest cabinet is getting an upgrade from a P3-450(?) to an Athlon XP 2000+ (1.2GHz).
The first step is to install Windows XP. Although this PC previously had XP installed, it's hard drive now contains Mythbuntu and is in a different PC. As I detailed in my previous entry, I spent several hours trying to get a 37GB drive to format before giving up and dropping in a 10GB drive (which I formatted FAT32). I managed to find the XP manual & key and the insta
Yeah! Finally found a cam lock for the coin door at a local hardware store. So now my cabinet has a door (no mechs though). I also bought a sheet of MDF and had it cut (thanks Home Depot) for the back door. So, current to-dos:Woodworking: Cut the MDF to length (easy work with a circular saw), add the notch & cover for the monitor, add top & bottom "latches", paint.Software: Play around some more with AtomicFE, try out the patched version, create a layout / background I'm happy with,
As my wife often reminds me, I have a habit of not finishing projects once I've started them. (Usually while pointing at one of them.) I have to say that I've gotten better at managing this habit (although not necessarily at finishing projects). I try not to start projects, or at least start spending money instead of just time, unless I have a relatively clear understanding of what it's going to take to finish the project (and why I'm bothering). But i still have quite a few projects hanging
I'm getting ever closer to completion of my Tempest cabinet. The rear door has been completed (although I might sand down the length, it's a might bit tight). I've been working on getting Atomic FE set up. I think the next step is getting the software on the PC and the game-specific configs done. I've soldered some speaker wire to the on/off button, now I need to find a SPMT switch to put at the other end. I also need to hack up my extension cord and connect the main on/off switch and the d
Via slashdot Team Twiizers (now known as fail0verflow) has made some significant strides in demolishing the security of the PS3. (By discovering a flawed crypto implementation - allowing the private keys to be recovered.)
It makes me wonder if it is possible to implement a truly unbreakable anti-piracy mechanism.
Last night I told myself to stop playing Minecraft and get back to work on my iOS game. At least start to put together the level editor. Once I have something partially working I'm much more likely to spend time working on it. But XCode had other ideas as it had updated. So when I opened the project, it asked me (twice) whether I wanted to convert it to the current version of Swift. I said no, but then it said it wouldn't be able to compile it. That wasn't a good option either. So I made
My arm is still tingling. I was connecting up the receiver/amplifier in my Tempest cabinet when my hand brushed the dangling monitor on/off switch. Silly me I had left the monitor plugged in. Well, it turns out that switch is line AC, not a sense DC. Now "120" AC isn't as bad as the 240 they use elsewhere (which can kill), but it'll still make you yell and jump.Current beauty shot of my Tempest MAME cabinet. Just added the speaker marquee this weekend.Still to do:1 - coin door: need a lock,
For my iOS programming project I been using sneakernet to try to keep the iMac and MacBook project directories synchronized with limited success. While XCode has support for Git and Subversion (and will create an local Git repository for tracking local changes), the instructions on how to do the initial setup. The Apple documentation starts with "Check Out the project from your repository" and is mum on how to import an existing project into a repository. Well, with some help from http://sta