Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About SavedByZero

  • Rank
    Space Invader

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Yeah, it's me, so it's got to be necro time, right? I'm up to this part and having trouble understanding what .POS means -- my mind parses anything to the far left of the editor as a label. Is .POS acting as some kind of "local variable"? I know it's shorthand for position, but I'm not sure how it's used since I see it both in the "label" column and being used as part of an instruction further to the right. Divide15 .POS SET 0 REPEAT 160 .byte .POS / 15 .POS SET .POS + 1 REPEND
  2. Force of habit with the darn semicolons. Ah, okay -- I assumed that strobing meant any positive value over 0 would set wsync to true. Initial playfield values, above all that in the once-only initialization area: lda #%11111111 sta pattern_pf1 sta pattern_pf0 sta pattern_pf2 I will definitely play with the debugger -- thanks.
  3. Onto the "Wall" exercise. Would anyone see immediately why, when I try to increase the y register or even load a value into it, it seems to be ignored? I would think this code would draw a solid pattern for a while (I initialized the playfields to 8, across the board, earlier in the code) and then only draw side walls. However, it draws only side walls for the entire frame, as if it's never branching to "Notyet". Why is it never branching to "Notyet"? ldx #192 ldy #0 ; start y at 0 Picture iny ;increase 1 cpy #50 ;compare y to 50 bne Notyet ; if not 50, skip this next part and don't change the playfield yet. ldy #49; ;once y hits 50, go here and use this to make sure it stays at 50 when it's increased next time. lda #%00010000 ; change playfield to be mostly empty, except for the sides (mirror flag is set) sta pattern_pf0; lda #%00000000 sta pattern_pf1 sta pattern_pf2 Notyet lda pattern_pf0; sta PF0; lda pattern_pf1 sta PF1; sta PF2 lda #1 sta WSYNC ; wait till end of scanline dex cpx #0 bne Picture ;loop until it's time for the blanking period
  4. Ahh, now that would explain what I'm seeing. Thanks. Though oddly enough, rol pattern, followed by lda pattern and sta PF1 still has the same result. BTW, in session 13, you declare a ram variable named PATTERN and later call "inc PATTERN" (so I know it wasn't a constant, I don't think? I know PATTERN referenced an address, but that 'inc' call did change the value at said address. But maybe I'm confusing ram variables with a different kind of declaration) -- I was copying that format when I used it. EDIT^2: Okay, this finally worked: lda pattern; AND #%10000000 bne dontclear clc; dontclear rol pattern; notyet lda pattern So yay, I can now "scroll" the easiest part of the playfield. On to the harder stuff...
  5. Further investigation: swapping the diagonals for the straights in the key map doesn’t change anything; I still have to drag the joystick to a diagonal position to break the key map. my theory is that it’s related to how none of the diagonal joystick movements ever signal an “up” response in event_diag — only the straight ones do. Maybe button presses weren’t designed to be tied to joystick movements that have no return signal? still would be nice if they accounted for this, though I’ve had trouble finding a working email for the jzintv author. Not that I have any proof it’s something they can access.
  6. Oh yeah, I know I have way more work ahead of me than simply rotating left; this was mainly my introduction to those commands. I was trying to see if that command did what I expected it with PF1, since PF1 is the only playfield register that's remotely straightforward. I'll deal with the others once I know what I'm doing with the commands. Anyhow, I figured out the blacking out was because I had accidentally erased a line of code that stored a positive value in the accumulator for the first overscan line, sta WSYNC. HOWEVER...I don't have a blank byte after 8 bits, now that I see it working...I have a full one. It starts as 00000001 and ends as 11111111...slowly filling with 1s as it rotates left...which was not what I expected, carry bit or no carry bit. I would have expected the carry bit to remain 0 as all those initial 0s get rotated through it, no?
  7. Ah okay, so there are some syntatic variations. Some examples above show people using rol directly on variable names (rol PATTERN_SF1), but when I do that, it looks like it starts to rotate, but the screen then goes dark permanently. I would think this would simply rotate PATTERN one bit to the left (a mod of an earlier example program from the website, only instead of increasing the value by 1, I'm trying to rotate the bits):. iny cpy TIMETOCHANGE ; has it reached our "change point"? bne notyet ; no, so branch past ldy #1 ; reset speed count rol PATTERN notyet lda PATTERN; sta PF1;
  8. So after some research, my idea for the scrolling is to use ROL. However, ROL A is listed as a legitimate command, yet the assembler flags it as illegal? What am I missing? EDIT: looking at some of the older posts here, I see others also use ROL, but directly on the pattern variable. At this point I'm just wondering why the examples elsewhere (like ROL A) are so different and don't appear to work with dasm. --- Unresolved Symbol List A 0000 ???? (R ) Code here: iny cpy #TIMETOCHANGE ; has it reached our "change point"? bne notyet ; no, so branch past lda PATTERN ROL A
  9. Yeah, was afraid of that. That must mean it’s tied to jzintv and we need to contact the authors...
  10. You took my exact hackfile and ran it with Tron Deadly Discs, used two joysticks, slid the disc throwing joystick around in an arc before returning it to the center, and it worked? In that case, what is your overall joystick setup like? Did you only have two or did you also have a keyboard and game pad plugged in, or some other setup? What command did your emulator.cfg run? That may be most important .
  11. No no. I’m saying that if I move the joystick one direction, then *without returning it to the center* slide it one way or another, the whole system breaks. Even if I return it to the center *after* doing that, it remains broken. Thanks for to help but at this point I’m thinking it’s probably a bug. If I run event_diag, I can see that when I slide any given joystick before returning it to the center, it’s missing an “Up” signal for every position but the final one, and I bet that has something to do with it. Changing the maps for joystick 3 didn’t do anything either. I’ll find a way to report it.
  12. Like I said, it’s not intentional. I move and release to throw, but sometimes my hand might stick and slide sideways a little before releasing. I’ll try messing with the rels and push thresholds to see if I can make the rels automatic maybe.
  13. I’ve already used event_diag.rom to identify my controllers and their outputs, or did you mean something else?
  14. I use this: https://www.amazon.com/gp/aw/d/B07JFXQSM5 My command for this particular setup is: jzint-trondd="/opt/retropie/emulators/jzintv/bin/jzintv -v1 --kbdhackfile=/opt/retropie/configs/intellivision/hackfile_trondd.cfg -f1 -q -p /home/pi/RetroPie/BIOS %ROM%" I don’t have a controller 0 that I know of; js2 is actually controller 1, js3 is controller two, and the one listed as js1 is controller 3 (event_diag.rom has different ideas about what the controllers are named than my emulationstation config). You’re right though, I think this may be a bug in the emulator, or something to do with how there’s no “Up” signal called on the disc throwing if I don’t move the joystick back to the middle after throwing it.
  15. Yes to Map 0 at the top, I just neglected to copy that part. And yes, when I exit to the list of games and restart, the controls work again (until I move the firing joystick in an arc again, it doesn’t matter which direction the arc goes). How do you mean, try mapping to right keypad buttons? That last set is only my way of making sure the right joystick movements aren’t assigned to the right joystick itself, since I use the right joystick for firing.
  • Create New...