Jump to content
  • entries
    62
  • comments
    464
  • views
    85,207

About this blog

Hardware, software, and other tricks

Entries in this blog

 

Cost sharing

Imagine that a restaurant were to announce to 100 diners--all strangers--that they would be splitting the tab. If a diner wanted to buy a $50 glass of wine, it would only cost him $0.50; on the other hand, it would also cost the other 99 diners $0.50. If the diner decided instead to have a $2 soda or a $5 glass of wine, he (and everyone else) would pay $0.02 or $0.05, respectively. What would people under such circumstances end up ordering, and what would they pay for it?   Many people woul

supercat

supercat

 

Question for Obama supporters

Is there any reason why aspiring Presidents should not be willing to prove their eligibility for office as a matter of course?   If Obama was born in Hawaii, why would it not be in everyone's interest for him to authorize the state of Hawaii to officially say so? Note that they have said they have a birth record on file, but they haven't said what it indicates about where he was born (a newspaper article's headline claimed they said the latter, but in the article itself they only said the for

supercat

supercat

 

I hope I'm 100% wrong about Obama

Really, I do. Because if I'm not 100% wrong about him, one of the world's largest nuclear arsenals will within a few years be in the hands of a third-world nation.   I'll readily admit that McCain was a pretty feeble candidate, but at least he would have let the country tread water until someone better came along in 2012. I believe Obama hates this country and will waste little time running it into the ground.   As I said, I hope I'm wrong.

supercat

supercat

 

Largest ever bank heist

Well, it looks as though the Senate is going to buy a getway car for the worlds' most expensive bank robbery. Unless Congress can stop it, the U.S. may commit economic suicide in the next couple days. STUPID STUPID STUPID STUPID!   The novel-length Christmas-tree piece-of-Sith legislation the Senate just passed will do nothing to resolve the effects of toxic paper in the credit derivatives marketplace, but will cost us about a trillion dollars. As a result of its passage, the crash will be

supercat

supercat

 

Star Castle, anyone?

Here's a rough kernel test for the 'rings'. This should be quite workable in a real game if everything is flickered at 30Hz (player ship, one shot, enemy fireball, and two chaser mines). Hold player 1 fire to slow down the animation; hold player 2 fire to disable the shift-in data. Color/BW toggles 30Hz flicker. The funny 8x8 block in the middle would be the enemy space ship, which could be drawn at 1lk or 2lk resolution. The plan is probably for rings to have 32 or 48 segments which would

supercat

supercat

 

13-char Chimera-queue test

This is some very rough test code for a 13-character text display with Chimera.   (edit)Removed a vestigial 'include' and a couple of vestigial macro invocations.

supercat

supercat

 

Obama (take 2)

I'm curious whether people who support Obama think:   -1- He is not a Marxist, or   -2- Marxism is a good thing;   -3- He does not really support Black Liberation Theology, or   -4- Black Liberation Theology is a good thing.   If you need to better qualify Marxism or BLT, feel free.

supercat

supercat

 

BTP2 Music Specs (as seen in Stella's Stocking)

In case anyone is curious about the exact specs for the music in Stella's Stocking (BTP2 music driver):   4 independent voices; two are output to each sound channel. The voices are otherwise isomorphic. Two wave tables, which are used for "loud" and "soft". Normally most voices are shaped to start soft and get loud, or start loud and get soft, or something. In the "Echo Carol" (last tune at fireplace) there's a spot where loud and soft can be heard for a solid stretch. Five octave

supercat

supercat

 

Proposed "Magic Zeepy" banking method

Magic Zeepy banking is a proposed banking method to allow up to 32 zero-page pointers used within certain parts of the code to access up to 24K of ROM directly. It does put some restrictions on the code to be run, but for some applications the ability to access so much memory directly may be more than worth it. The scheme is designed around using a 22V10 as a controller; this entailed some slight compromises, but the scheme should nonetheless be very powerful. The board layout would have to b

supercat

supercat

 

Mega-bitmap demo

Here's a sample of what might be possible under Chimera. There's supposed to be another column of data (8 pixels wide) in the left-side red area, but the timing's not quite right so the sprite doesn't show up on a real system (it does under Z26, but Z26 has other problems; besides, what really matters is what a real machine does).   This demo runs under straight F4 banking; the only practical way to animate stuff on the screen would be to use Chimera to patch over a thousand load-immediate in

supercat

supercat

 

New kernel--What the Dickens?

At first glance, this kernel may look like any other 24-column text kernel. But there are a few differences. It should probably be suitable for use in a text adventure game (with a nice scrolling output, even on an unexpanded 2600!) though I may have to increase the line spacing slightly for that.   For a variety of reasons, this is not "just another 24-column kernel":   -1- Minimal flicker thanks to a variant of David Crane's "flicker blinds" trick and an anti-flicker font.   -2- Minima

supercat

supercat

 

Toys and Tribulations

I decided to try out some kernel experimentation to see how well Toyshop Trouble could work on the 7800. Things seem like it could work decently, though the lack of cycle-accurate emulation support would probably make it too difficult to get working. Things could be a bit better if the write mode 2 transparency logic used the upper data bits, but even without that ability it should be pretty nicely workable.   The game would run in 320B mode. Four toys per line, each with two independent co

supercat

supercat

 

7800 thoughts

Well, I just started playing with 7800 programming and it seems somewhat interesting. Haven't really figured out what to do, though. I've been thinking it might be interesting to see if I can manage a missile defense or area-filling game using only the 4K of internal RAM. The location of the zero-page and stack shadows is nuisancesome, but I have a kernel that seems like it should work for 128x96x4 colors with some cycles left over for a few overlay objects. The bitmap is stored linearly at

supercat

supercat

 

GADGETT

Although I'm more interested in 2600 development than 7800 development, I've had an idea for a POKEY alternative for 7800 developers. My intention would be to release an open-source framework that other developers could build upon if desired.   The GADGETT (Great Audio Doesn't Get Easier Than This) would be an 8-pin DIP Cypress microcontroller which would be programmed with a small bootloader and would attach to a few pins on the 7800 bus. The part in question costs $2.50 in quantity 100 and

supercat

supercat

 

SpaceWar!

Here's my start of what Atari's "Space War" should have been. Everything suffers from 30Hz flicker (oh well) but the players can have get 4 shots on screen. Or maybe I'll go with three shots per player and have two floating fuel pods.   In addition to the "combat-style" two-player game, I was planning to also have a single-player game in which a computer-controlled ship lays down red and green dots. The player is required to collect the green dots while avoiding the red dots or the computer

supercat

supercat

 

BTP now has a display!

I just posted a new version of the BTP2 demo in the homebrew forum here. Amazing what a poor little 6507 can do. Interestingly, this demo doesn't use any undefined opcodes except for the three-cycle NOP, and it probably doesn't need even that (BIT would probably work just as well).

supercat

supercat

 

BTP2 with a tune!

BTP2 music sounds even better than expected when I put in some real music. I need to put in some real logic for music handling so I can sustain notes (and not use 16 bytes per beat!) but this clip shows the full five octave range of BTP2 with a recognizable tune.

supercat

supercat

 

BTP2 demo

Here's a simple demo of my BTP2 music routine. The routine can produce a full chromatic scale over a five octave range, though the top and bottom octaves don't sound too wonderful (I doubt that the DPC would sound great on the really high or really low notes either).   Each of the four voices can independently play loudly or softly (though in this demo the volumes all tie together). This demo doesn't maintain vsync, though doing so probably wouldn't be too hard. The music player requires 46

supercat

supercat

 

BTP2 teaser

My next little project is called BTP2. I've got the data tables designed, but still need to come up with the code to drive them. It's somewhat related to a recent thread. So now you have to speculate what crazy idea I might be thinking of.   Clues: Stereo, 15.75KHz 46 cycles/scan line   Any guesses?

supercat

supercat

 

Introduction to processor hardware

In a classic microprocessor system (things like Pentiums and such get more complicated) the processor communicates with memory and I/O devices using a group of wires called the address bus, another group called the data bus, and a few individual wires which may be called control signals. In the case of the 6502, the primary control signals are called phi2 and R/W.   To read an address, the 6502 drives the address bus with the address it wants to read (e.g. if it wants to read address 1 0010 00

supercat

supercat

 

EconoBanking

Introducing 0840 EconoBanking   I've just built a cart using a new low-cost 8K banking scheme. Unlike other 8K designs which either require a programmable logic device or multiple logic chips, this design uses one 16-pin DIP, a 2.2K resistor, and a 100pF cap (and an EPROM of course). The one limitation is that code must be written to use the new banking method--it's not F8-compatible. Writing games to be easily-adaptable to both formats, however, should not be difficult. Any address $0800-

supercat

supercat

 

Matchie, again

This version has some significant changes. I rearranged some variables so six bytes' worth of temp variables are now overlayed with kernel temp variables. Hopefully I've eliminated all conflicts there.   It's now necessary to click twice to remove blocks. This allows for a limited preview/undo function. If you click somewhere and don't want to remove the blocks that turned brown, click somewhere else instead.   I added some feeble sound effects as well. Let me know how they are.   Als

supercat

supercat

 

Matchie and Pixel 79.5

I've restarted work on my Matchie game after finding a solution for an annoying TIA quirk. Although the 2600 shows 160 pixels across the screen, SCORE mode can corrupt the color of the last HALF-pixel on the left half of the screen. If the last playfield pixel on the left half of the screen is set, the 77th through 80th pixels should appear in P0 color. Unfortunately, the right half of that playfield pixel will show up in an indeterminate color which may be affected by COLUPF even though the

supercat

supercat

 

Cory Maye off death row, at least for now

Cory Maye, a man who was on death row for having shot an intruder who happened to be a police officer, has bee moved off death row. I've read some of the trial and hearing transcripts of the case, and it sure seems like some prosecutors are more concerned in convictions than in justice.   At trial, Cory Maye testified that he was awakened by the sound of someone bashing at his door, went to the bedroom, got a pistol, and got down on the floor watching the doorway. When door was breached, Cor

supercat

supercat

 

ATF750

Well, I've got the logic worked out for a "universal" PLD for the AtariAge/CPUWIZ boards using an Atmel ATF750B. The chip is pin-compatible with the 20V8/22V10 which is handy. In a lot of ways I'm not too keen about the design of the chip or the software, though.   The chip is basically positioned as a 22V10 superset. Each output pin (there are ten) has the same set of product terms as on a 22V10, but they're split into two groups. One group feeds a flipflop; the other group feeds, either

supercat

supercat

×
×
  • Create New...