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
Unfortunately the cardboard box didn't really have the strength to hold he monitor in place. But I wasn't ready to build the final cabinet (i.e. spend $$ on materials). Fortunately I was able to build a replacement using a 12x24 shelf cut along the diagonal and some Ikea scraps which were the perfect length. I used some "hockey tape" to decorate the cut edge. (Not sure what I'm going to do on the final version as I don't feel like spending the $$ to buy the slot cutter to use T moulding.)
So I've started playing the vertical games which MAME 0.37b5 supports and I've learned a few things.
First, while the Raspberry Pi Zero is incredibly powerful compared to the CPU of the arcade games, it is also having to emulate the graphics and audio processors as well. So while the majority of the games are playable, the game isn't displaying all of the frames and the sound is choppy or worse. The lower fps actually turns out to not be a big deal, but it's difficult to listen to
In the words of Sinstar, "Beware, I live"
As I mentioned in the previous post, I started over with lr-mame2000 (MAME 0.37b5 as a Libretro core) on RetroPie 4.7.1 (current). While mame4all-pi is supposed to be faster, it doesn't do me any good if it doesn't support rotation. It also became obvious that mame4app-pi is basically an unsupported hack.
Once I started over I tried the recommended solution of disabling the internal "soundcard" without success, like
While researching for whether anyone else had found a solution for my audio issues, I discovered that mame4all doesn't support screen rotation. Bogus!
So now I'm going to try to use lr-mame2000 (the same version the MAME core code, but built on top of the Libretro platform) on the current release of RetroPie (4.7.1) - hopefully I won't have as many issues (or it won't be such a headache to resolve them).
My current challenges are with getting the audio working - not something I expected, so it's fortunate I realized I could use the USB headset. I've been working with RetroPie 4.5 as RecalBox is locked down by using a read-only partition. (So I can't rotate Emulation Station.)
Audio on Linux is handled by ALSA. It provides a lot of flexibility in order to handle the breadth of soundcards - which means a lot of complexity. Unfortunately, there's not a lot of good, authoritative, cu
While I have made some progress, I've also encountered a bunch of frustration.
The progress is mostly on the hardware side where I realized I could plug the Raspberry Pi back into the monitor's USB hub with a old USB A to B cable via the USB B jack to micro USB OTG cable. Then I had the second realization I could simply plug in a pair of USB headphones for audio (and use cheap USB speakers in the final build). While the USB speakers won't be as loud as ones powered by the 12V jack
There's a saying which goes something like "progress is seldom made in a straight line" - which basically means you can't really anticipate what you need to do until you've started. But if you're wise you'll minimize your losses. For me that means spending time rather than $$, which is why I am forcing myself to work out the software before I spend too much on hardware.
Last night I plugged the RPi0w into the monitor (I did buy a mini-HDMI to DVI-D cable as I couldn't assume that w
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