Shop OBEX P1 Docs P2 Docs Learn Events
Console Emulation - Page 34 — Parallax Forums

Console Emulation

1313234363768

Comments

  • hinvhinv Posts: 1,255

    @pik33 said:

    PM graphics itself is simpler to implement than real sprites and that's why it is done this way. You don't need to control Y sprite, add offsets, etc, while moving the sprite vertically can be done by CPU in VBLANK. This is 1979 hardware! C64 is 3 years younger.

    Yeah the Atari 400 was the first computer I was ever able to program basic on because they had them in school when 13, and the upper graders showed me how to do graphics in basic. It was a lot easier than on the c64 IIRC, if you stayed within basic with Atari's draw commands. I didn't know it was 3 years younger. The 400 had a really nasty keyboard though, but the upper class boys hogged the 800's.

  • evanhevanh Posts: 16,029
    edited 2022-07-11 07:31

    @Wuerfel_21 said:
    Huh, the forum software censors Smile? Well that's new.

    I see it censors at the database level too! The old forum software would leave the entered text uncensored so it could be re-edited.

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-11 00:35

    Hmm, the mask register write routine (which previously never got called due to a bug) looks like this...

    .adpcm_endmask
                  loc ptrb,#adpa_regbase+3*ADPA_CH_SIZE + 2
                  testb zk_tmp8,#0 wc
            if_c  wrword #257,ptrb[-3*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[-3*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#1 wc
            if_c  wrword #257,ptrb[-2*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[-2*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#2 wc
            if_c  wrword #257,ptrb[-1*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[-1*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#3 wc
            if_c  wrword #257,ptrb[ 0*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[ 0*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#4 wc
            if_c  wrword #257,ptrb[ 1*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[ 1*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#5 wc
            if_c  wrword #257,ptrb[ 2*ADPA_CH_SIZE/2]
            if_nc wrbyte #0,ptrb[ 2*ADPA_CH_SIZE + 1]
                  testb zk_tmp8,#7 wc
            if_c  wrword #257,##adpb_regbase+6
            if_nc wrbyte #0,##adpb_regbase+6+1
                  ret wcz
    

    Notice anything? PTR indexing, known to us to be a potential source of The Sads(tm). Now, a bunch of other ADPCM control routines also use this pattern, but this one is the only one with two PTR instructions back-to-back.

    Today it's late, but tomorrow I'll see what putting NOPs inbetween each pair begets. Bug is moody enough that testing if anything fixes it is a total pain.

    Edit: nope still busted.

  • hinvhinv Posts: 1,255

    What word was it? Smile?

  • hinvhinv Posts: 1,255

    Smile

  • evanhevanh Posts: 16,029

    @hinv said:
    Smile

    No way!? Huh, and it has revived the old posts. That means the database entry wasn't censored. Must have been the edit box then.

  • VonSzarvasVonSzarvas Posts: 3,487
    edited 2022-07-11 10:52

    @evanh said:

    @hinv said:
    Smile

    No way!? Huh, and it has revived the old posts. That means the database entry wasn't censored. Must have been the edit box then.

    ;):#

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-11 16:40

    Okay, I'm actually going insane, I've reproduced the issue in the pre-fix version. Well, that's that weird, since I never noticed it before (I've been using Samurai Shodown 1 here, which I've played quite a bit of on the P2EDGE - do note that this game also benefits from the phantom EOS fix - without this the clapping from the bonus stages continues into the cutscenes). Mayhaps related to some timing edge-case that only manifests on the slow 96MB memory?

    I'd have thunk to have thought them all through (and in practice, the memory delay case never actually seems to happen?)

    EDIT: I guess this also indicates that this is the same issue that Samsho 3/4 have (it is really obvious and extreme in those and always was, even before I messed with any of the sound code)

  • However, Parallax can (and IMHO definitely should) moderate their forums to remove off-topic posts, e.g. discussion of vaccines in a thread about console emulation. For medical information you should consult a health care professional, not an electronics forum.

  • hinvhinv Posts: 1,255
    edited 2022-07-11 20:31

    @ersmith said:
    However, Parallax can (and IMHO definitely should) moderate their forums to remove off-topic posts, e.g. discussion of vaccines in a thread about console emulation. For medical information you should consult a health care professional, not an electronics forum.

    I wasn't talking about vaccines, because they don't exist. I was talking about censorship and lies.

  • Could we keep to the thread topic please. Especially as some topic diversions are not inline with the forum policy.
    Thank you kindly.

  • @hinv said:

    @ersmith said:
    However, Parallax can (and IMHO definitely should) moderate their forums to remove off-topic posts, e.g. discussion of vaccines in a thread about console emulation. For medical information you should consult a health care professional, not an electronics forum.

    I wasn't talking about vaccines, because they don't exist. I was talking about censorship and lies.

    Opinions on medical opinions are not a subject fot these forums. Off topic commenets will be removed if not pertaining to the topic.

    Thank You

  • RaymanRayman Posts: 14,754

    @Wuerfel_21 Is your sd code doing multi block reads where it is assumed all blocks for a file are sequential?

    If not, that might speed loading…

  • I'm just using the flexspin VFS (which does use multiblock reads, but I guess only one cluster at a time)

  • roglohrogloh Posts: 5,837
    edited 2022-07-15 10:41

    This week I hacked up an arcade style controller to test it out with some components I already had on hand. Tubular very kindly helped me mount it all using a nice acrylic panel he cut out for it. It's still only a single player controller right now but works well.

    The top left button is Player1 start and gets lit (somewhat dimly at 5V with a 12V bulb - need to swap it to use a LED+resistor), which is handy to know if USB has connected properly. There are some etched button labels printed onto the acrylic, a little hard to see in the pic, esp. on the right. Has temporary standoffs to hold it up and still needs to be mounted down onto a plate or something sturdy. Basically it replaces the controller above.

  • What joystick are you using?
    Jim

  • Not sure if the diamond layout translates well from thumb buttons to an arcade panel.

    Actual SNES arcade sticks tend to use this layout:

    Relatedly, I have all the parts for the SNES accessory board, will have to solder it together later.

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-15 12:57

    Just opened a resistor stockpile I ordered some time ago...

    Someone, somewhere, is being paid minimum wage to label these resistor strips by hand. Every single one.

  • @RS_Jim said:
    What joystick are you using?
    Jim

    I got it ages ago and can't recall from where precisely but it's one of those zippy branded ones I think. Basically it's just like this:

    http://www.ozstick.com.au/product/zippy-joystick/

  • @Wuerfel_21 said:
    Not sure if the diamond layout translates well from thumb buttons to an arcade panel.

    Yeah will have to see how the playability works out in the longer term. I'm okay with it for now.

  • YanomaniYanomani Posts: 1,524
    edited 2022-07-15 13:28

    @Wuerfel_21 said:
    Just opened a resistor stockpile I ordered some time ago...

    Someone, somewhere, is being paid minimum wage to label these resistor strips by hand. Every single one.

    You've just reminded me of my own stockpile, still "unpeacefully-resting" into many plastic boxes.

    After more than 16 years, most of them have just a gross layer of oxide deposits onto their terminals.

    I still have one or two of those:

    https://ebay.co.uk/itm/354083153146

    P.S. but mine are yellow, and came with metalic blades at their ends, suitable to grasp any excessive oxide layer from the terminals, before forming them...

    Fond emories... :smile:

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-15 13:42

    Now that I actually need to assemble it on protoboard, do I actually need the transistor output drive circuit?

    All it does is pull the line low, which the P2 pin can do itself. Though I guess it has the advantage of isolating the P2 pin from any excess voltage... Actually, no, if the output shorts to 5V and the pin drives low it just runs through the FET, lmao. Though the simulator somehow ends up with just 32mA, which is within P2 pin specs, I guess? (EDIT: Of course, its based on the transistor threshold voltage. Simulator defaults to 1.5V. Threshold for 2N7000 is 2.1V, which gives even lower current)

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-15 19:21

    Well, built the transistor circuit anyways...

    Protoboard hell is a real place. Might need to drown this in hot glue to make it rugged against cable pulling attacks

  • LOL, yeah I see what you mean. Too late now but it's probably handy to keep a few of these guys lying around to simplify that effort...
    https://www.sparkfun.com/products/12009

  • Got it working! After figuring out that the latch output got shorted to a ground trace and the fact that pingroup 24 for some reason doesn't have 5V on P2EVAL....

  • 5V is most dangerous in that location.

  • gaming.

  • evanhevanh Posts: 16,029

    LOL, where's the 65" screen?

  • Wuerfel_21Wuerfel_21 Posts: 5,106
    edited 2022-07-16 01:09

    No budget for huge TV after investing in huge plushies.

    More seriously, the largest direct-view picture tube only has 43" viewable area

    "Make sure that the floor is strong enough"

  • ke4pjwke4pjw Posts: 1,169
    edited 2022-07-16 01:52

    440lbs -- In the early 90's I worked in a retail electronics store. Loved watching Trinitrons. Hated taking them to customer cars.

Sign In or Register to comment.