Jump to content

Bruce-Robert Pocock

+AtariAge Subscriber
  • Posts

    207
  • Joined

  • Last visited

Posts posted by Bruce-Robert Pocock

  1. Not sure of that precise model, but…

     

    A lot of IEC printers default to lower-case mode (hit C= + Shift to switch fonts on the screen to match)

     

    If you're printing from BASIC or so, you may be able to send CHR$(147) or CHR$(14) to toggle the printer's character case mode, but that does depend on the printer model and whether it recognizes PETSCII.

    If it does not know PETSCII, you may have to translate to ASCII yourself. The biggest, most obvious change is that PETSCII's lower-case and upper-case are the opposite of ASCII's.

    petscii'S caps AND LOWER-CASE ARE THE INVERSE OF ascii'S BECAUSE THE 80'S WERE WEIRD

     

    This might work, if it does take PETSCII. The second example will show off if it just wanted ASCII to begin with.
     

    READY.
    NEW
    
    READY.
    10 OPEN4,4
    20 PRINT#4,CHR$(147);"ALL CAPS AND GRAPHICS"
    30 PRINT#4,CHR$(14);"CAPS AND LOWERCASE"
    40 CLOSE4:END
    RUN
    
    READY.
    PRINT CHR$(14)
    
    ready.
    new
    
    ready.
    10 open4,4
    20 print#4,"tHIS WILL LOOK NORMAL ON AN ascii PRINTER."
    30 print#4,"pROBABLY UNDERSCORE: ← AND CARET: ↑"
    40 close4:end
    run
    
    ready.
    • Save-to-cart won't work with a "dumper" either
    • Why a dumper at all? Wouldn't it make much more sense to just write a CartPhysical class for Stella that directly manipulates the address bus / reads the data bus tied to the cartridge in real time? Is there a performance constraint there that I'm not seeing?
  2. I haven't got a working VIC-20 (sad panda) but my C=64 (breadbin) and SX-64 drive all the TV's I've tried with them all right, including a relatively intolerant Pyle 15" 1080p. Could be a difference in the VIC-20's signal output or tolerance at the TV's side, too, of course. But having a signal would be a nice proof of life. (The Pyle refuses my composite modded 2600 and shows it in greyscale only for various reasons I'm sure.)

  3. I'm assuming you have a TV somewhere with RCA (composite) video input? … can you use that to verify which (if any) line from the DIN is carrying the composite signal? (Typically another line will be the luminance-only signal and display in black and white.) That would rule out a lot of things including burnt out AV port on the computer, bad cable, or so forth.

     

    Assuming you have valid composite signal, there are plenty of inexpensive converters to VGA that should accept the C=64 signal all right, although as someone has mentioned before not every converter can deal with the "240i" type signal that it produces. I rely heavily on a RetroTink but that's a bit industrial-grade and probably pricier than necessary for the CBM … and outputs HDMI anyway.

  4. I've just realized that the SaveKey pages used by Grizzards were somehow lost from the official allocation list at https://atariage.com/atarivox/atarivox_mem_list.html  at some time in the last year or so.

    The AtariAge cartridge has its own memory on-board and is not affected, however, if you play Grizzards from the public builds, it will use the same SaveKey/AtariVox addresses that other games are also using.

     

    IF YOU START A GAME IN SLOTS 1 OR 2, you may destroy save data for these other games.

    Likewise, playing these games could destroy your Grizzards save data, possibly in very interesting ways.

     

    Again, this applies only to the current public builds and not the AtariAge cartridge.

     

    I'm very sorry about any confusion or inconvenience this may cause. (Although I have no reports of actual data loss, yet.)

     

    SLOT 1 conflicts with Elevator Agent by Champ Games @johnnywc, as well as Happy Bird by Bruno Steux  @bsteux

     

     

    SLOT 2 conflicts with Bot & Tom  by @Thomas Jentzsch

     

     

    SLOT 3 does not currently conflict with anything else.

     

    I have asked for a new allocation and will produce some "safe" binaries that use that new allocation as soon as possible. In the mean time, please use caution.

    • Like 1
    • Thanks 3
  5. Just to make this reference available, not exactly off-topic …

     

    In Grizzards (AtariAge save-to-cart or public release) you can erase a saved game's progress with the following intentionally-obscure sequence:

    1. Set both Difficulty Switches to "A"
    2. Go to the SELECT SLOT screen and use left/right or Select to move to the slot you want to erase
    3. Pull down on the joystick and hold it there …
    4. Now, start also holding down the fire button …
    5. Push forward on the joystick, with the fire button still down.

    You'll be prompted to delete the game (or not).

     

    Not SaveKey relevant, but the AtariAge (retail) version also has a high score feature that's absent from the public (SaveKey) builds.

    • Hold down both of Game Select and Game Reset while powering on the cartridge to erase (only) the high score.

    There is no confirmation or acknowledgement that this has happened, except that the score (and winner's name) will no longer display in the attract sequence. (Normally, it appears just before the attract sequence starts over with a different Grizzard on the title screen.)

    • Like 1
  6. On 7/23/2023 at 10:52 PM, Dave C said:

    I didn't notice it either. A tip I learned from the forums, Stella (maybe other emulators) lets you set a trap on number of scanlines, makes this kind of thing way easier to debug.

    Just wanna offer up, this is what I use to catch some errors. You can key this in to Stella or put it into a file like ~/Grizzards.NTSC.script (or ~/fly29.script or so) to have it auto-loaded.

     

    The first line, stops whenever the frame finishes with less than 262 lines (NTSC) — which can only be detected when the first line of the new frame is produced, but then you can use the "rewind" feature in Stella to walk through the offending frame (or set a breakpoint, or whatever)

    The second catches overruns when they occur.

    The third, catches if the stack pointer falls below your top of ZP — so, if you have vars at $80 … $ef you can set it to $f0 like this to catch stack overflows/overwriting actual values.

    The fourth, I use $f000 as my base address, catches any time that the program jumps into another area of memory, since my code will never do that intentionally.

     

    breakIf { _scanEnd < #262 && _scan == 0 && _fCount > 1 }
    breakIf { _scan > #262 }
    breakIf { sp < $f0 }
    breakIf { pc < $f000 }
    

     

    Hope that helps a bit.

    • Like 2
  7. For those who aren't familiar with the transit in Portland: There are streetcars that run around downtown, as well as the MAX trains (light rail) that go throughout the tri-county metro area, and of course a bus system … or, you can resort to a car too 🤷‍♂️

     

    The Grid …

    Basically avenues run north-to-south and streets east-to-west, and addresses are more or less "east" or "west" of the river (near the Convention Center at least), and "north" or "south" of Burnside St. Starting with Ash & Arkeny, moving north, the street names are alphabetical for a bit (Ash, Arkeny, Burnside, Couch, Davis, Everett, Flanders, Glisan, Irving, Johnson, …) particularly on the downtown (west) side of the river.

     

    Key Routes …

    The Convention Center is adjacent to both of the street car lines, the A loop runs down Rev Dr Martin Luther King Jr Blvd and the B loop runs the next block east along Grand Ave. Either of them will cross the river, and they pass by Powell's City of Books on either side (10th and 11th Ave) near Burnside St.

     

    The Red, Green, and Blue Max trains all stop at the Convention Center stop (just to the north of it). To the northwest is the Rose Quarter Transit hub with access to the same Max lines and many more city buses as well.

     

    The Red Max line goes to the airport (kPDX), and the Green Max line runs to Ground Kontrol (which is around NW 5th Ave and Couch St). The Green (or Yellow) Max lines go to Union Station (Amtrak; just north a block from the NW 6th Ave & Hoyt St stop), but the Yellow line doesn't reach the Rose Quarter or Convention Center stops (it runs north)

     

    From the airport — the Max line is indicated pretty well by signage, you reach it after going past all the baggage carousels in the opposite direction of the stairs you came down from your arriving flight. Just stay on the same train a while if you're heading to the Convention Center area — basically it'll run alongside I-205 and then alongside I-84, but as it approaches downtown the rails start going under a couple of overpasses — that's my signal to start paying attention to the next stops.

    From Union Station — head south about a block, past the driveway loop, to the Max stop — just grab any Green train headed East to hop across the river to the Rose Quarter transit hub and the next stop is the Convention Center proper.

     

    Funny Names …

    Couch rhymes with "mooch" not "sofa", and Glisan sounds like "glee-son" not "glisten". Also, PRGE is at the Oregon Convention Center not to be confused with the Portland Expo Center which is nowhere near downtown.

     

    Transit Fares …

    You can tap any NFC credit or debit card, or Google Pay on your mobile, on the posts that say HOP near the MAX stops — or inside the front of the buses — to pay the fare. The one annoyance is that, if you're traveling with someone, you seem to each have to have a distinct card, you can't just tap the same one twice.  If you don't have such a thing handy, e.g. for children or if your card is not in USD$ and you don't want your bank charging weird fees for foreign transactions, you can buy a HOP card for +$3. There's also an app that works as a virtual HOP card.

     

    TriMet basically maxes out at $5/day (if you use the same card consistently) after which it's free — the system will automatically upgrade you to a day pass after you spend that amount in total, no need to do anything special.

     

    Parking …

    City parking mostly uses Parking Kitty, but there are private lots that vary from cash-only to using whatever random app they thought was cute that day.

     

    Finding Your Way Around …

    Google Maps is tied in to the transit and will generally let you know next bus/streetcar/train times and routes accurately (including "bus is running early/late") but the bigger bus/train stops also have shelters with screens that show the next arriving buses/trains and their status.


     

    Happy to answer any questions if I can…

    • Like 7
    • Thanks 1
  8. On 5/28/2023 at 2:11 PM, bradhig1 said:

    the cartridge is saving data without my atarivox plugged in.   I get in the lost mine and can't find the way through and most of my creatures are dead with no potions to heal them.  How do I get potions?

    Oh, my, I'm so sorry, I did not notice this message.

     

    The AtariAge cartridge has built-in memory (EEPROM) so it does not require a SaveKey nor AtariVox for saving. (But, it will use AtariVox for voice.)

     

    Potions are randomly earned from defeating monsters in combat. You can also heal your Grizzards by returning to any Grizzard Depot. (Just visiting the Depot heals them.)

     

    The Lost Mine is very, very difficult to navigate (by design) at least partially because almost every room looks exactly alike. There is at least one “special” room worth finding, in the mine, however. In order to learn how to find that hidden room, you …

    Spoiler

    must talk to the right person in Anchor village, who will tell you a pattern of directions that represent in which direction you want to exit each screen once you're in the identical-looking rooms in the Mine.

     

    It might be worth noticing that the Lost Mine level is very difficult early on and you'll likely want to continue east and …

    Spoiler

    first complete the mission for the woman outside the tunnels that lead to Anchor village, proceed to Anchor, and then return once you know the correct pattern to travel through the mine.

     

  9. OK, I am deeply ashamed, but we still haven't made more progress. We've moved 2,600 miles and been doing a rather comprehensive overhaul on the new house — floors, painting, fixtures, appliances, siding, windows, doors — which has been a big time drain.

     

    Just posting to say, “yes, it's still A Thing.” Thanks for your patience.

    • Like 3
  10. 1 hour ago, LatchKeyKid said:

    Looking forward to it!  I tried playing it when it came out and read the pdf instructions but couldn't even get past the intro/character screens.  :(

     

    If you were trying in Stella, make sure you selected the left controller as joystick — it may detect as keyboard controller, meaning the Atari 12-key controller, not your PC keyboard. The .pro file will do this, if it's in the same folder as the .a26 ROM file, or you can select it from the Tab menu — or “second key from the top” menu if that isn't Tab on your keyboard. It'll be under Game Properties / Controllers / Left Port and you most likely want to pick Sega Genesis but joystick works fine as well.

    image.png.a4c5752214712f2ab27f24860b30ea28.png← this is the auto-detect thinking it should be Keyboard controller, which does not work

     

    If you were getting some kind of “sad face” error code, please do let me know which one …

     

     

  11. I'm sorry, it's been six months since PRGE and I've been lax in getting a proper v1.2 build of Grizzards up for those who just want to play on emulators or multicarts. Fear not, I have not forgotten, and I will attempt to polish up such a release “soon.”

     

    I'd also like the link to this interesting review, which unfortunately I don't speak enough German to follow completely, but perhaps should mention as @H.Fraenkel has clearly put a lot of work into it, and also is one of the very few who have defeated the final boss.

     

    And, while I'm sharing reviews, I'm thrilled about this lovely mention, as well… https://youtube.com/clip/UgkxHmMjC8r0jmVxRwf-fV8Pe6drJELtDIwE

    • Like 1
  12. 2 hours ago, TGB1718 said:

    It's easier if you do the compare before the macro, so the macro only does the branch otherwise

    you need a macro for CPX and CPY

    FWIW, Turbo Assembler has had BLT and BGE for so long that I have never even tried to learn which was BCC and which was BCS, except occasionally being reminded by the disassembly or when I'm doing some peephole optimizations. 99% of the time I just think of it as BLT/BGE.

  13. 9 hours ago, LatchKeyKid said:

    Would that 12k be enough to add another map area to explore for example?

    Each of the areas has its own 4k bank, with 50-75 screens and its own musical theme. So, in theory, that could add another 3 maps — but, realistically, one additional 4k region + 8k for additional text/scripting perhaps.

    • Like 1
  14. 3 minutes ago, LatchKeyKid said:

    Thanks.  I'm curious how much of the 64k filesize was all the text you used.  Mass Effect did have something like that in Andromeda I believe but the NPCs still obviously responded to you in full speech.  I was actually referring to the NPCs conveying info in emoji-style form and you responding with a simple "yes"/up or "no"/down response.  So for example, you come up to an NPC and they have the stereotypical exclamation point above their head so you click to "talk" to them; they respond with a sword icon and an enemy sprite and you respond either up or down on the joystiq.  Basically, they're asking you to fight/kill that enemy as a quest and you either accept or decline it.   It's obviously MUCH more limited than the full on text you used but I figured I'd ask what you thought.

    For the utterly curious, memory banks assignments are about like:

    • Bank 0: Cold Start/title, EEPROM (SaveKey/on-cart) access
    • Bank 1: Map mode services and the Failure screen
    • Bank 2: Text services
    • Bank 3: Province 1 maps (Port Lion) and music
    • Bank 4: Province 0 maps (Treble Village, Anchor, Spiral Woods, &c) and music
    • Bank 5: Province 2 maps (underground areas) and music
    • Bank 6: Combat
    • Bank 7: Sound effects, speech, and music drivers, and title music
    • Bank 8-12: Text, scripting, and speech
    • Bank 12 (also): End of game
    • Bank 13: Lots of random bits stuffed in at the last minute
    • Bank 14: Monsters (stats, graphics, names)
    • Bank 15: Animation services, combat services, and game finale code

     

     

    As far as the “glyph based” communications system, maybe take a little peek at the games Dungeon and Dungeon II here on AtariAge, they use a not-entirely-different system…

    • Like 1
  15. 2 hours ago, LatchKeyKid said:

    How big do you think the game would be without the voice for the 2600? 

    It looks like the total data for phonemes runs about 8,120 bytes (give or take a few), and there's a little bit of code that goes with it — the printed text totals around 6,461 or so bytes itself. (The text panels are lightly “compressed” in that each character takes only 6 bits, so there are actually about 8,172 characters plus some control codes like colors and scripting.)

     

    Overall, with the scripting engine code (replicated in each bank) there are 6 banks of text and speech data × 4 kiB each — one of which is also used for some end-of-game graphics and such as well. That's a total footprint of about 24kiB for text, speech, and drivers; removing the speech portion would probably remove not only 8,120 bytes of speech, but also compact the number of banks needed for the text, so it could get maybe packed in to about 3 banks (12k), freeing up 12k for whatever else might be interesting.

     

     

    • Like 1
  16. 2 hours ago, LatchKeyKid said:

    Indeed, congrats!   I was thinking about text in Atari games and your's obviously came to mind, Bruce.  How big do you think the game would be without the voice for the 2600? 

    Let me run some figures and I can tell you about the size precisely, but in general, the speech phonemes I think are similar in size to the visible text.

    2 hours ago, LatchKeyKid said:

    I'm curious what your thoughts are on an ultra simplfied RPG conversation system for the 2600 using the equivalent of modern day emoji's.  

    I did a thing like that once upon a time (Orpheus for PC-DOS), but later saw it done well — in Mass Effect. The player chooses the “attitude” of their response rather than specific text …

    • Like 1
×
×
  • Create New...