Jump to content
  • entries
    295
  • comments
    862
  • views
    242,363

About this blog

Geeky things I'm up to

Entries in this blog

 

Apple ][ Disk ][ Read Sequencer

One of Woz's design decisions for the Disk ][ was to force the MSB of each byte read to be 1. Although this restricted the number of values each byte could take, this was already restricted by the number of sequential zero bits i.e the time between changes in magnetic field; initally 1 (DOS 3.2), later 2 (DOS 3.3). But the restriction on the MSB had several positive side effects: 1. The MSB could be used as an easy "data ready" flag by the CPU. 2. The read sequencer could hold the completed

EricBall

EricBall

 

more Disk ][ musings

As I mentioned in my previous entry, I've been taking a deep look at the Apple ][ Disk ][ controller. IMHO it's an elegant blend of hardware, software & firmware.   The crux of the controller is the P6 (8bitx8bit) PROM which describes the state machine along with an 8 bit shift register and a 4 bit state register.   The CPU selects one of four modes via two PROM address bits (called Q7 Q6): 00 read a byte 01 sense write protect 10 write byte 11 load byte for write   The other 2 ad

EricBall

EricBall

 

more Apple ][ musings

My latest distraction is the Apple ][ disk. I'm sure some of you, like me, remember the golden age of copy protection & cracking which happened around the Apple ][. Much of that was because the A2 was largely software driven. (Another Woz brilliant lunancy cost-cutting effort like A2 graphics.)   Unfortunately, because the A2 was pre-Internet, there isn't a lot of surviving detailed documentation on the web. The one piece I'm missing is a detailed description of how the bits get writte

EricBall

EricBall

 

Nintendo DS for Christmas

My six year-old son's Christmas wishlist has GameBoy on it. After some thought I realized we have enough ways to play video games around the house that adding another won't be encouraging him to play more. Plus the battery connector on the portable DVD player died (really bad design IMHO - two very small spring steel "fingers" just waiting to get bent out of shape) and we have a 5+ hour plane flight coming up.   Although the DS doesn't have GB/GBC compatibility, it's the current platform so

EricBall

EricBall

 

advanced un-bankswitching idea

One thing I find amazing about the 2600 homebrew scene is the strong interest in creating new bankswitching hardware, often with advanced capabilities. I think, very soon, the only remaining VCS limitations will be the capabilities of the TIA and that there are only 76 CPU cycles per line to update the TIA (hmm... shades of the GTIA/ANTIC).   Anyway, one idea which occurred to me is whether it would be possible for the cartridge to automatically bankswitch the 64K (32K usable) address space.

EricBall

EricBall

 

look-ahead bug fixed

lep20061108.zip Okay, I've fixed the look-ahead bug which was causing the ladder issues vdub_bobby was noticing. I think you'll find the leprechauns to be a little smarter now. Leprechaun Level Editor updates as usual.   Oh, one note. The AI for swinging on ropes is the same as running with the one exception of falling when the player is directly below. (Note - it may be possible to run under a leprechaun and not trigger this behaviour.) So when the player is higher than the lepre

EricBall

EricBall

 

One bug fixed, one needs some thought

Thanks to vdub_bobby, I'm making progress.   Okay, I've fixed the problem with the leprechauns getting stuck. (I had a BPL in the en_stop routine where I shoulda had a BMI. So hunt mode wasn't working right. There may have also been an error in the "rotate joystick" lookup tables.) I'll update the Leprechaun Level Editor shortly (check the date).   The problem with the ladders is a little trickier. It has more to do with the lookahead routines and that I'm using the same one for both th

EricBall

EricBall

 

tweak, tweak, tweak

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

EricBall

EricBall

 

Hunt and chase returns

Hopefully this will be the last update to the enemy AI routines. I would appreciate if the various level creators can update their levels to the latest code (using the Leprechaun Level Editor, v20061101) and see how well things work. For the attached WIP the leprechauns eventually find the player at the starting position, something I was having great difficulty accomplishing with drop off detection.   The Leprechaun (and player) color indicates the direction their joystick is pointing: g

EricBall

EricBall

 

mischief managed

Last entry I complained that I'd run out of space. Well, I've now managed to free up a whack-o-space, which has (at least for the moment) cured my space issues. I'm now trying to work out what the heck my enemy AI code is doing (along with some code tweaking). I'm hoping I can get a new release out in the next couple of days.   For those curious, I found the space in my kernal (of all places). Since I knew I needed a goodly amount of space (i.e. not just a few bytes), I first looked at the

EricBall

EricBall

 

who let the bytes out?

"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.

EricBall

EricBall

 

and you thought a PS3 was expensive

"The Death of PC Gaming"   Attention all PC gamers, start saving your pennies now.   Based on the above article, it sounds like Microsoft might manage to kill PC gaming. In brief:   1. DX10 will require a DX10 capable graphics card and Vista 2. Indications are DX10 graphics cards will have substantial power & cooling requirements, potentially requiring a bigger power supply 3. Vista will definitely require more RAM than XP, and will probably require more CPU 4. Indications also are

EricBall

EricBall

 

Leprechaun AI grumbling

I've attached my current WIP, but no updates to the LLE since this version has obvious issues even with my built-in level.   I've added in the "walking on heads" feature. (It actually wasn't as hard as I thought it might have been as it required changes to only one bit of code.) When I first added it the leprechauns had an amusing habit of walking across the screen on top of one another. The look-ahead code took care of that but causes other quirkyness & problems. Hmm... just realized

EricBall

EricBall

 

Leprechaun - more AI updates

I'll also update the Leprechaun Level Editor in a minute.   Updates: 1. enemies on ropes will fall if you pass under them 2. enemies get off ladders before they get to the top 3. simple enemy-enemy collision detection to keep them from getting stuck together (sometimes they pass through each other, sometimes they bounce, but they shouldn't stay in lockstep) 4. code tweaks and a fix so the player doesn't always face left when stopped   I haven't put in the drop-off detection yet. From a

EricBall

EricBall

 

Nintendo Wii ? maybe not

I've been reading & listening to Ben Heckendorn's (of VSCp fame) disenting opinions of the Wii, and I think he has some good points on why it may be doomed to failure. It comes down to two major design decisions: #1 no HDTV support & #2 unique controller which lead to three reasons why the Wii is doomed.   Currently I don't have an HDTV, nor any plans on buying one in the near future; and I suspect the same could be said for the majority of people. (Although with prices of HDTVs fall

EricBall

EricBall

 

Leprechaun - AI improvements

I've updated the Leprechaun Level Editor with the attached WIP. Load & save to update any levels you have created.   There have been signficant changes to the enemy AI. It's now based more on the enemy continuing it's previous action & direction than the previous (broken) hunt/chase logic. I won't say this is the final version, the current AI climbs ladders to the top or bottom rather than getting off in the middle to chase the player.   I've also fixed the bug which trashed the s

EricBall

EricBall

 

Leprechaun AI

He's right, I just didn't notice. Well, now I have and I'm going to do something about it. Unfortunately, it's tricker than it sounds.   Fundamentally, the enemies are at a major disadvantage to the player. The player can see the entire level; the enemies are almost blind. Not only is it not feasible to put in some kind of path finding algorithm, but I'd like to avoid doing any level data lookups at all. Fortunately, the enemies have a much simpler purpose - chase down the player and touc

EricBall

EricBall

 

GCN Wario Ware, Inc

Another rental. It will be interesting to see how Wii impacts GCN title availability and pricing.   Anyway, Wario Ware is billed as another party game title (like the Mario Party series). Except it's stuffed full of “micro-games” and the multi-player game has no inter-player interaction.   So what about these microgames? Although I had fun at first, they quickly lost their charm. The problem is each microgame lasts less than in a minute. In that minute you have to figure out the objective

EricBall

EricBall

 

Leprechaun Level Editor

Leprechaun Level Editor, see Topic in Homebrews for more info.   I'm seriously psyched about this. I was having soooo much trouble trying to get the Javascript to initialize (not really knowing anything about JS). In comparison the PHP was simple (although I have a habit of forgetting the semicolons).   Now I just need to get grinding on handling the end of level / end of game & load next level items.

EricBall

EricBall

 

Leprechaun WIP

Reset now works. This now resets the level (except for the level timer) back to the initial state.   TODOs 1. Make level timer difficulty (speed) dependent. i.e. At higher difficulties the timer will count down more slowly. 2. Handle out of time & end of level (all gold picked up) states 3. Start on the end-of-level scoring screen. 4. Start on level loader   I'll update the editor as soon as I get home and find my password.

EricBall

EricBall

 

Are you ready for this? pt 2

Second try at making the VCS play 2 Unlimited's "Get Ready For This" (or at least 30 seconds of it).   Differences: 1. First 10 seconds are skipped, which means it starts with the better sounding chords. 2. Only uses AUDC 4, 6 & 12 (square waves)   Notes: it sounds better on a VCS than an emulator (although the emulator does the score color, while my 7800 doesn't, weird); not compatible with an unmodified SuperCharger.   Method behind the madness: 1. Song ripped from CD to WAV, th

EricBall

EricBall

 

Are you ready for this?

Brute force frame by frame PCM to TIA AUDC/AUDF coding. This version doesn't use the "noisy" AUDC values and the second half (approx 30 run time, looped) sounds almost acceptable.   Comment if you want the (unfinished, but functional) source code.

EricBall

EricBall

 

restoring dusty backups

This past weekend I reinstalled my primary PC from scratch - both to clean up the cruft and dump the Win98 partitition that I never used. Of course one of the first orders of business was to make a complete backup to my external 320GB hard drive. (Highly recommended - big drives are relatively cheap and easy to use in an external USB case. And, if you don't leave it except when you're using it, it should last for years.)   But while I was at it, I decided to chuck some of the old CD & D

EricBall

EricBall

 

Leprechaun Level Editor (alpha)

Announcing the Leprechaun Level Editor!   This will allow you to create your own Leprechaun levels. The SAVE button dynamically creates a SuperCharger binary (based on the current development release) usable by any emulator or SC compatible RAMcart.   I plan on adding a LOAD button as well which will allow a level created with the LLE to be uploaded for editting or refreshed with the current development release.   This is all part of my plan to have people create lots & lots of level

EricBall

EricBall

×
×
  • Create New...