Jump to content

pixelpedant

+AtariAge Subscriber
  • Content Count

    619
  • Joined

  • Last visited

  • Days Won

    1

pixelpedant last won the day on May 8

pixelpedant had the most liked content!

Community Reputation

1,246 Excellent

About pixelpedant

  • Rank
    Dragonstomper

Profile Information

  • Gender
    Male
  • Location
    Canada

Recent Profile Visitors

2,787 profile views
  1. My outlook is - any - of the popular classic systems has plenty to do on it. You're not going to run out of thing to do on Spectrum or MSX or C64 or TI-99 or CoCo or VIC-20 or whatever. Especially not these days, after years of ferocious homebrew productivity. And while some of these have larger libraries than the TI-99, I don't really think that for someone just starting out, being on a platform with 200 good games is going to deliver a fundamentally better experience than a being on a platform with 50 good games. Because you're not going to be playing 200 games on your first day, or week, or year, with a platform. They've all got enough going on and enough to do. I agree with Tursi that the biggest appeal of the TI-99 is definitely that it's an odd architecture, with its own pretty unique way of doing a lot of things. But it also crosses off a few more generic "want" items on any introductory retro computer list, I think: - A huge amount of them were made, so it's easy to get a working unit for a reasonable price. - There's an active community, so it's easy to get information and help and plug in to what's available and what's going on. - It doesn't have any critical issues that make maintenance or acquiring a functioning unit problematic or a pain. - All the most necessary upgrade items (memory expansion, disk solution and such) are currently available and currently being produced. Nothing essential is rare or hard to find. But as I say, that applies to several different platforms. What makes the TI-99 uniquely appealing, for me, is its status as a weird orphan platform which was abandoned by its maker, but taken up by its community, who was determined to figure out its eccentricities and make it all that it could be. Though I am definitely biased, as it was my first computer
  2. Here's what I was thinking: In F18A programs which modify the palette, this can have the entertaining consequence of displaying standard graphics in whatever modified palette for subsequent purposes, if reset during display of the modified palette. So for example, this is the start screen and this is TI-Writer, after resetting from Super TI-99 Bros: So my question is - particularly with the help of the FinalGROM's ability to select any new cart without powering off the system - wouldn't it be cool to have a palette tweaking tool which effectively allows you to modify the palette before going into Multiplan, or TI-Writer, or E/A, or whatever. So that if your favourite application uses Grey on Blue, but you'd rather it used Black on Cyan, you can modify the palette accordingly, from a simple menu. There are so many programs which really only use a text color and background color that giving them alternate two-color palettes in this way would be pretty simple.
  3. Yeah, Alpiner's RNG is rough. As I've been learning lately. Having seriously revisited it over the past week, after not really playing it at all for 20 years or so. It would be one of those runs where you just have to hope for good obstacle placement and restart if you don't get it, particularly on Garmo and Everest. And that kind of speedrun game does exist, of course. And furthermore, like Parsec, Alpiner has the appeal of being a first-party classic. But definitely, I prefer the idea of speedrunning something like Wing War where the world is complex and stateful, but always begins in the same state and changes deterministically.
  4. Very cool! I've thought about speedrunning on my TI-99 before, but never about Parsec with respect to it! It certainly would be nice to see speedrunning of such an iconic TI-99 game. I've otherwise thought about speedrunning Wing War, as while it doesn't have an "ending" state it does have an explicit (repeatable) core mechanic which culminates in completing a supercrystal and bringing treasure back to your lair, which can pretty reasonably be regarded as the natural goal for a speedrun and generally takes about 10 minutes played very efficiently, which is a good length for a speedrun, usually. However, an even more natural TI-99 speedrun for me might be Fathom. Since it's a fairly long action-adventure with an explicit victory state. Its downside vs Wing War is that an "optimal" run would depend on some rapid dives in which you just drop as quickly as possible and hope you don't hit anything. There would be less banking on randomness of this sort in a Wing War speedrun, and more careful routing. A complete run of Fathom's nine levels takes about 25 minutes.
  5. It's required in Speech Editor and in CALL SAY in BASIC via Speech Editor though. So "#THAT IS RIGHT#" has going for it that it's what works everywhere, I guess. Stumbled on that observation when I was fooling around with a hack of TI Trek a while back.
  6. Well, all I can SAY to that is ("#THAT IS RIGHT#",,"#TEXAS INSTRUMENTS#",,"#YOU WIN#",,"AGAIN").
  7. Ebay's biggest seller of manual photocopies and disk copies with intentionally deceptive descriptions, right there. Someone was always going to be that scumbag, one supposes. But Ebay lets you filter searches to specifically exclude certain sellers, so I never see those these days.
  8. More ridiculous garbage, further plumbing the depths of worst practices in Extended BASIC programming. I feel like running literally everything off errors is thematically appropriate to this endeavour. So that's what I did. This doesn't play any sounds. 5 ON WARNING NEXT 10 ]\]=[/[ 15 [=[-]=] 20 DEF ]\(_)=(_)/[ 21 CALL CLEAR::ON ERROR 81::CALL SOUND(]\(),[\],]\],]\]) 22 CALL ERR([\,[\],[\],\]) 23 CALL HCHAR(]\([\])/[--[\],]\([\])/[--[\],\]-[\)::ON ERROR 22::PRINT::RETURN NEXT 81 ON ERROR 22 82 CALL SOUND(]\(),[\],]\],]\]) 119 CALL SOUND(]\(),[\],]\],]\]) 128 CALL SOUND(]\(),[\],]\],]\]) 130 CALL SOUND(]\(),[\],]\],]\]) 135 CALL SOUND(]\(),[\],]\],]\]) 139 CALL SOUND([-],[/[,[/[,]) 141 CALL SOUND([-],[/[,[/[,]) 147 CALL SOUND([-],[/[,[/[,]) 180 CALL SOUND([-],[/[,[/[,]) 188 CALL SOUND([-],[/[,[/[,]) 190 CALL SOUND([-],[/[,[/[,]) It does a little vertical text scroll containing this text:
  9. Alright, for June's game, I propose Road Hunter by Rasmus: Cart image is here: roadhunter.bin A Spy Hunter style racing game otherwise similar to Funware's Driving Demon:
  10. Looks to me like our high scores for May are: Junkman Junior (Databiotics): Pixelpedant: 8900 Count9929A: 7475 jwild: 6875 Tetlee: 3450 jblenke: 2700 Ed in SoDak: 1560 I'll try to have a game pick for June out by end of day. Junkman Junior was a really good game.
  11. Well, "unreadable" was kind of the whole premise. Obfuscated programming is pretty nearly "worst practices in programming" combined with a little aesthetic flavour. In effect, people asking "what is the least maintainable, least readable code we can generate, if we really dig in our heels, and how can we make it look cool?" There's only so much you can do in BASIC. PERL or C is far better suited to making completely opaque blocks of unreadable code. But there are a couple tools available, it seems to me, even in XB. First of all, ON ERROR is appealing for handling all control flow. That's desirable, as this allows for the possibility of control redirecting from one line to another with no indication at either of these two lines that this behaviour occurs, or under what conditions. It allows for the creation of complex jump conditions (when variable values, for example, create an error state once they go out of range) which are impossible to identify by cursory observation of the code. And CALL ERR is also quite valuable, as it allows for assignment of values to integer variables based on line number and error code, but again, this line number is the line number on which an error has occurred, and so cursory observation does not necessarily inform the reader as to where a variable acquired its value, other than "from an error somewhere at some point". The above was a very trivial example. Something much more interesting could be done. CALL SPGET might also be useful, as it allows for access to a large volume of string data (some of which is printable characters). So this is potentially another good way to non-explicitly acquire unexpected variable data, and particularly string data.
  12. Yeah, definitely once you get to directly modifying the program in memory, a lot of options open up. But here's what I suppose is a more orthodox and very short example of something utterly asinine, which 1) When run, actually performs an easily observed function 2) While achieving this in the most abstruse and idiotic way possible (among those which occur to me, at the moment) 3) Via a sequence of statements all of which are valid TI BASIC or Extended BASIC statements. 10 [=[-]=] 20 ]\]=[/[ 75 ON ERROR 75 :: [=[-[_-_]-] :: CALL ERR([_,_,_,_]) :: CALL SOUND(]\],]-[,[/[) :: IF ]\]*]-[*[/[ < [_*_] THEN 75
  13. In the weekly Zoom meeting today, I was chatting about the source for Legends 1 and 2, the code for which is fairly annoying to decipher, given its use of 1 and 2 character largely unmeaningful and sometimes non-alphanumeric variable names (called things like _, @, _1, _2, _3 and_4) and immensely complicated collection of ON GOTOs and ON GOSUBs. Anyway, I was thinking it might be fun to take a few lessons from this piece of code, and apply them to an important problem in TI BASIC programming: How can a compact and functional, yet utterly confusing, obscure, and inaccessible TI-99 BASIC or Extended BASIC program best be designed, for maximum incomprehensibility? Obfuscated programming competitions have obviously been a fun little sideshow elsewhere in the coding world. And I'm sure BASIC has received some attention now and again. But it'd be fun to see what the "worst" is that can be done, on the TI-99. Either in console BASIC or Extended BASIC. Potentially a nice opportunity to dig in to or exemplify some weirder or unintended behaviour. Anybody else interesting? I figure I'll give it a shot. But some of you folks pretty much know the interpreter inside and out, and so are better equipped I think to misuse it to maximum effect.
  14. Yeah, I feel like this one does take time, to master, too. Each stage is different, and kind of needs to be "learned". The sheer variety they offer is pretty great, though. I imagine some folks would be familiar with all that via the game's "official" (Jumpman) iterations, though. Never played those and this wasn't one of the DBT carts I owned. So I'm really just learning it now.
×
×
  • Create New...