It works! I found the bug in the parsing routine (dumb error on my part). I'm going to call this chapter complete.
The next chapter is to create z3.spin based on this code. I/O will probably be based on a serial terminal interface. And it will run catseye.z3, which is small enough to fit in HUB RAM (hopefully), so no SD I/O. The objective is to do as little as possible other than porting the code from C to SPIN.
Z3.C is functional, but I'm still bug hunting. It now gets to the first input in HitchHiker's, but doesn't grok the input. MiniZork starts, but misfires printing out the detailed location info. (Which probably means a bug is in the object/property/attribute code somewhere.)
What I really want is a PC trace from a known good interpretter, which I could then use to narrow down my bug hunt. Unfortunately, none of the Z-Machine interpretters I've found has this option. I could look at their
What do you think the following C should do?
unsigned byte zmem[128*1024];
int read_word( int a, x )
a = zmem[a++]<<8 + zmem[a];
There are three (!) errors in the above code:
precedence error : addition is done before shift
order of operations : is a incremented before the second array reference?
compiler bug : a contains a++ after the operation
All three can be worked around by using a temporary variable. Here's another gotcha I ran into:
Zork! HitchHikers! Ahh, the memories of glowing green text and the frustration a text adventure can bring.
Interestingly, Infocom had the forsight to create their games as a program for a virtual computer. That way they didn't have to create separate versions of each for each home computer. The same game file could run on multiple home computers using the existing interpretters. And when a new home computer reached the market, the whole library of games would be available by just writing
My wife saw Beatles Rock Band in the store the other day and made some "wanna have it" noises. Now, although when RB2 & GHWT we talked about buying one of them, we never did. My main problem with them (and B:RB) is they are, at heart, rhythm games. You aren't just rockin' along to some tunes you know. Nope, the game want you to do the right thing at the right time, or no cookie for you. I downloaded an Aerosmith demo and played through it using my controller. (Yes, not ideal, but enoug
Assuming MS can bring down the price of the Xbox One to match the PS4 (likely by not including the Kinect as dropping the HMDI IN port & functionality would require new hardware - maybe for the slim version), gamers will be picking consoles this November/December based on brand loyalty and exclusive launch titles. (I expect there will be very little difference between consoles for non-exclusive titles.)
the Xbox One has the following exclusive games confirmed for 2013:
Dead Rising 3
Gaming sites are filled with rants regarding the Xbox One and Microsoft's decision to allow publishers to limit or restrict sales of used games.
I think Microsoft's biggest problem was not in the decision, but how they presented it. Imagine if they had presented it like:
The power of the Xbox One isn't just the boxes in your home! Xbox One games can use the power of Microsoft Azure via your broadband Internet connection to provide even more realism and deep game play.
It appears to me that MS going with the all-digital-download model for Xbox One games. Even if you buy the physical disc, the Xbox One treats it like a digital download - just copying the game from the disc rather than downloading over the network. No, MS hasn't said this explicitly but I think it's the best explanation for what they have said (in public statements and in leaked private statements).
Of course, everyone wants to know how this model will effect certain properties typical to
The head honcho of my department has decided he no longer wants to fund the public area meeting room he inheritted. In the room are a pair of 15 year old ceiling mounted Electrohome ECP-4101 front projection CRTs. There's a high probability that I could take them myself if I asked nicely. (Otherwise they will probably be scrapped.)
Now, in spite of their age, they probably have been used very little. So I doubt the 7" tubes have been used up. They were also high-end data projectors for
I am slowly tracking down the bugs in Leprechaun, primarily using the Stella debugger, with some z26 tracing.Anyway, just for laughs, I've found the following glitches so far:- used a BCS instead of a BNE which caused the player to climb off the top of the screen- forgot that the sprite positions are already shifted 2 pixels by the positioning routine, removed the redundant shift. (Although my first attempt to do so caused more problems because I over-optimized.)- logic glitch in translating th
The basic gameplay is now complete. Press the button and push the joystick right or left to dig. Comments, opinions & suggestions welcome.I also managed to trip myself up quite nicely as I was adding the new sprites. Basically I forgot that any access to $1FF8 aka $FFF8 on a SuperCharger will trigger a bankswitch. And I stuck the sprite data after the playfield bitmaps, which just happened to be on page $1F00. So the game would work quite nicely until it did the right blit and accessed
Back in August we had a house fire which destroyed much of the contents by heat & smoke, including my Wii & PS3. Insurance will replace both, but I'm debating whether I should replace the Wii with a Wii U or not.
Actually, the first question is whether to replace them at all. I mean, my free time is fairly limited, and we try to limit my son's game playing time. So why drop $$ on a console which doesn't get used?
The PS3 will get replaced because it's a decent Blu-Ray player (
After much procrastination, I now have potatohead's Propeller Demo Board working. Of course my super-duper display driver doesn't work yet, but now I can do my own debugging.
I am now the proud owner of a Dell 1320c color laser printer. I got tired of the ink drying out in my inkjet ('cause I don't do that much printing at home) and the Dell had the lowest consumable cost. So although I could have gotten the HP 1600 for $100 less, I save that much on the first set of toner cartridges.
Valve decided to make CS:GO free to play and at the same time add a battle royale mode "Danger Zone". This is great for me as I was looking for a way to scratch my PUBG itch on my 27" iMac rather than playing PUBG on phones. But IMHO Danger Zone is better than PUBG because it is only 16 players on a correspondingly smaller map. This leads to quicker, more intense gameplay and shorter games. With PUBG, I typically spent the first third of the match (10-15 minutes) looting up, the second thi
This is probably only of interest to potatohead, but I don't want to depress the Propeller crowd.
The Parallax Propeller is a pretty cool chip. Eight 32 bit cores running at 80+MHz with video output capabilities. A lot of people have said, that's cool let's make an emulator or videogames!
Except that ain't easy. Yes, the Prop has enough processing power to emulate an 8 bit CPU at a reasonable speed except...
There's no external memory bus, so you only have 32K of RAM for everythin
Yes, the WIP is almost done. I just need to add in the new digging sprites (and redo the old ones which I did by hand).Unfortunately, I'm going to have to find someplace to squeeze them in. I had this great idea about how to squeeze in the REFPn bit, but it didn't pan out. At one point I noticed that HMPn only uses the top 4 bits while REFPn uses bit 3. Ah-ha! I thought. If I multiply XPOS by two, change the SBC #15 in the repositioning routine to SBC #30, and double the HPOS table, I can m
I've been working on the digging code for leprechaun and have it working; mostly. Unfortunately there's a bug, or rather an unanticipated side effect. The problem is if an enemy falls in a hole and it starts to fill up, the bitmap for gold is momentarily displayed. But then the enemy picks up the "gold", but the fill continues, leaving the enemy stuck in a (top) half filled hole.The "easy" fix is to change the gold bitmap, i.e. remove the bottom white line, so it doesn't match half filled dirt.
"Origin Reverse Indexed", i.e. I've run out of space somewhere in the code. My latest AI changes filled bank 1, grump. I managed to squeeze out the few bytes, but I wanted to add some debugging code to help me figure out how well the AI meets my expectations. There's also a couple of TODOs left in the code. I guess I'm going to have to start looking for places to optimize. Un-fun.
My wife has suggested getting my son an iPod Shuffle (or similar) to replace the kiddie cassette player he has. A bid advantage of going with an iPod is my son can therefore get stuff from my wife's iTunes library. However...
Reasons I don't like the current 3rd generation iPod shuffle:
2. Controls on the headphones. However, C does think K's iPod headphones are comfy.
3. It's dang tiny, just looking to get lost.
4. Requires a special USB cable for charging & sync. (Some
So, can the TIA generate speech just using normal AUDC waveforms (versus AUDF based PCM)? The initial results say no. Although you can hear some of the inflection. In the attachment is are two WAV files (one with just a simulated TIA output and one with a the input and output in stereo) along the code & executable I used. The code generates two frames worth of audio of each TIA AUDC+AUDF waveform (except AUDC 3 where the waveform is dependent on the initial state of the LFSRs). It th
The level creator for my iOS game "Slide Tilt Roll" is working. But before I put the game on the App Store, I need some levels. Which means I need people to create levels.
Interested? You need an iPhone, iPad or iPod Touch running iOS 9 or later (configured to send email) and a willingness to create levels gratis for my 100% free application.
In order to install my app I need the UDID for your device. This can be obtained from iTunes by clicking on the Serial Number on the device S
Who wouldn't want to have their own pinball machine? You too can be a pinhead, all you need is the space and the cash.
I have the space . . . in theory. I have an unfinished basement but it has accumulated a lot of stuff & junk over the past decade of residence so there's not a lot of empty floor space. Getting stuff down to the basement is also a challenge as the stairs make a 180 degree turn halfway down. But ultimately no show stoppers.
The cash is kinda sorta there too. The
I've enhanced my workflow, so I'll share it for others who may want to do something similar.Step 1 - using a simple video capture program and an analog capture card, I capture the video at 720x480 (YUV2 compressed with HuffYUV), and 48KHz 16bit audio to NTFS formated disk.Step 2 - use AVCutty to detect scene changes. I created a custom scene index to simplify the next step.Step 3 - compress the scenes to DV format using ffmpeg -ss hh:mm:ss.00 -t hh:mm:ss.00 -i capture.avi -target ntsc-dv "clip-
A decade or so ago I bought a Hi8 camcorder. With it my wife and I have shot the usual assortment of home movies. Now my wife wants to use iMovie to change those tapes into DVDs. (Probably not a bad idea - before those tapes start dying.). These days we use the movie capability of my wife's Canon S3 instead of the camcorder. Of course, getting from point A to B isn't a simple process. The first step is to use the capture card in my old PC to make an AVI using HuffYUV lossless compression. This g
After much banging my head against the wall, I finally got the background scrolling smoothly. A lot of the problem was I couldn't keep straight which way was up. The next challenge is to integrate the code from 4K SpaceWar! 7800 and revising the display list builder to compensate for the moving background.