Jump to content

Lillapojkenpåön

Members
  • Content Count

    486
  • Joined

Posts posted by Lillapojkenpåön


  1. On 5/30/2020 at 2:52 PM, Prizrak said:

    I wouldn't due to the need for a joystick to be in the left controller port as well as the right. One directional pad or stick per controller. One controls character direction and the other the firing direction.

    Sent from my SM-N960U using Tapatalk
     

    Would it be impossible to read two sticks from one port without overlapping bits? If so couldn't you make a version that reads them every other frame?

    character direction

    firing direction

    character direction

    firing direction

     

    EDIT:

    Or what if you got two 8bitdo receivers, and paired one dual stick controller to both of them, I'm gonna sell my edladdin and do some testing


  2.  

    20 minutes ago, Gemintronic said:

    I think const and def are more or less doing a text substitution swap before compilation.  Using that assumption not sure how the space savings is happening.

    def does, const needs to be a value I guess, not code

    • Like 1

  3. 1 hour ago, Lillapojkenpåön said:

    or this

     

    ; some code for 1st block

     jmp .bs6

     

    ; unused filler is here

     

    ORG $60a4

    .bs6

     

    this looks good in the listing file but only black screen, why? other ORG's interfering?

    the other one, that should have been _bank6data + 31, also looks good, but origin reverse-indexed error 😭


  4. Haha, what are the odds of me accidentally checking the wrong previous label, and using that number causes it to align to the right address, 164 is exactly where it should be 😵

    to many here's, would this work

    _bank6data SET *
     ; some code for 1st block
    	jmp .bs2
    
    ; unused filler is here
    
    bs6 SET _bank6data + 164
    	ORG bs6

     

    or this

     

    ; some code for 1st block

     jmp .bs6

     

    ; unused filler is here

     

    ORG $60a4

    .bs6

     


  5. 1 hour ago, SpiceWare said:

     

    It's one of the reasons I bought a 7800, been bummed out that it was never released.

     

    I have a total control plus playstation/playstation 2 to dreamcast adapter so I can play wireless and with two sticks, they are cheap and contain allmost nothing, they used to come with a plug so you could hook up a 9V power adapter for the wireless controllers that requires 5V, but guess the manufacturer saw the long threads of people complaining about the adapter "not working" so now they've removed the 5V regulator since no one figured out how to use it anyway and it was probably the most expensive part, I believe these are still being manufactured and sold by ems, and recently another company released a ps3/ps4 to dreamcast adapter,

     

    so there are allready companies that could spit out an ps to atari adapter quickly if enough people showed interest,

     

    write ems if you want an ps/ps2 adapter

    http://www.hkems.com/m_main.htm

     

    write brook if you want an ps3/ps4 adapter

    https://www.brookaccessory.com/detail/47613739/

    and inform them about this new game that will make alot of people want/need one

     

    or any of the other millions of these adapter companies

     

    I want both 😁 but any would do since this beast would take care of the rest and add wired xbox360 controller support

    https://www.psxcare.com/universal-adapter-ultimate-for-xbox360-xbox-one-ps2-ps3-ps4-kontroller

    • Like 2

  6. 19 minutes ago, Andrew Davie said:

     

    I totally don't understand your usage of "align" or what you're trying to do here.

    If it's to get bankswitching code in the right place, then I've not seen it done using aligns. It might work.

    Generate a listing file, and have a look at the assembly. That will clearly show you what is where.

    I have only ever used "align" to get to page boundaries.  The "align 133" would, I assume, align to the 133rd byte in the current page, except where you're already past that, in which case it will be the 133rd byte in the NEXT page. It's still bizarre usage to me, tough.

    You code, as shown, does not seem to have much of any idea where it is related to page boundaries.

    Not saying it's wrong - it's just very foreign to me, this usage.

    Yes it's to get the bankswitching code in the right place, I was using nop's but since I have a compile time condition and probably will add more I thought I'd try it instead of adding compile time conditions with different amount of nop's, align seemed like the obvious choice, but maybe there's better ones? I would like to know.

     

     

      6096               4c a4 b0           jmp    .bs6 
      6099
      60a4               00 00 00 00*          align    133
      60a4               .bs6
      60a4               ad f7 1f           lda    $1FF7

     

    I wouldn't say clearly, I can't read hex, I thought the low byte of the address was the number of bytes into the current page (high byte),

    I was displaying that in my score as decimal to see where I was, but I seem to have been wrong?

    How do I use these hex numbers to my advantage not knowing what they mean?


  7. On 5/20/2020 at 2:18 AM, Lillapojkenpåön said:

     ldx #2

     jmp .bs5

     

     ;there's a couple free bytes between here

     align 133 

     

    bs5

     

      lda bankswitch_hotspot-1,x

      rts

     

    If I remove the jmp to .bs5 will the program counter jump to .bs5 by itself or will it take time doing a couple nop's first?

    Actually #<bs5 is 164, so why am I not aligning 164? I must have understood why when I did it, but now I don't???

    Or I checked the wrong address and it was a lucky accident it worked? But why is it working?

     

    _bank6data  ; #< = 133

     

     lda (DataPtr),y

     sta DF0PUSH ;210

     

     iny

     lda (DataPtr),y

     sta DF0PUSH ;209

     

     if PFRESOLUTION == 22

     iny

     lda (DataPtr),y

     sta DF0PUSH

     endif

     

     ;ldx #2

     jmp .bs6

     

     align 133

     

    .bs6 ; #< = 164

     

      lda $1FF7

      rts

     


  8. Ok thanks.

    I'm a bizarre dude 🙂

    It's for a bB thing, and 133 bytes are allready used in bank 2 by the kernel, so that's where the bankswitch code ends up if you put it first thing in that bank,

    it just so happens the code I'm bankswitching to fits allmost perfectly above it in the other banks,

     

     ldx #2

     jmp .bs5

     

    is the end of that code where I return, I just realised I can put the align before that codeblock to just fall into the return. 


  9. 2 hours ago, Andrew Davie said:

    Useful tip:

    You can align to a page boundary in DASM by just using " align 256" in the source code.

    No need to add padding bytes manually.

     ldx #2

     jmp .bs5

     

     ;there's a couple free bytes between here

     align 133 

     

    bs5

     

      lda bankswitch_hotspot-1,x

      rts

     

    If I remove the jmp to .bs5 will the program counter jump to .bs5 by itself or will it take time doing a couple nop's first?


  10. I have a problem that's driving me nuts, 

    I have a table that looks like this

     

     255,255,63,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,34,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,34,0,4,32,0,4,32,0

     4,32,0,4,32,0,4,32,0,4,32,0,4,33,0,4,33,0,4,33,0,4,33,0,4,32,0,4,32,0,4,32,0,4,32,0,4,48,0,4,56,0,4,60,0,4,60,0,4,0,0,4,0,0,0,0,0,128,0,0,128,0,0,128

     0,0,128,0,0,0,0,0,0,60,0,0,60,0,16,60,0,16,60,0,16,32,0,16,32,0,0,32,0,4,32,0,4,32,16,132,32,16,132,32,16,132,32,16,132,0,16,132,0,16,132,0,16,132,32,16,132,32,0,4,32,0,4,32

     0,4,32,0,4,32,0,4,32,0,4,32,0,4,33,0,4,33,0,4,33,0,4,33,0,4,33,0,4,33,0,4,33,0,4,33,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32

     0,0,0,0

     0,4,32,0,0,32,0,0,32,128,1,56,128,1,56,128,1,56,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,32,4,32,32,4,32,32,4,32,32,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0

     4,32,0,4,32,0,4,32,0,4,48,0,4,32,0,4,36,0,0,32,0,0,33,0,0,32,0,64,32,0,0,32,0,0,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4

     32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32

     0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,0,0,4,0,0,4,0,0,4,32,0,4,32

     0,0,0,0

     0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,0,32,0,0,32,0,0,32,0,0,0,0,0,0,0,1,0,0,1,32,0,1,32,0,1,32,0

     1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,0,32,0,0,0,0,0,0,64,0,0,64,0,32,0,0,32,0,0,32,0,0,32,0,1,32,0,1,32,0,1

     32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,0,32,0,0,32,0,0,32,0,0,32,0,0,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32

     0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8

     0,0,0,0

     0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0

     4,32,0,4,32,0,4,32,0,4,32,0,4,0,0,4,0,0,4,0,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,0

     32,0,0,32,0,0,32,0,0,0,0,0,0,0,1,0,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,0,32,0,0,0

     0,0,0,64,0,0,64,0,32,0,0,32,0,0,32,0,0,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32

     0,0,0,0

     0,0,32,0,0,32,0,0,32,0,0,32,0,0,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,8,0,4,8,0,4,8,0

     4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4

     32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32

     0,4,32,0,4,0,0,4,0,0,4,0,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,0,32,0,0,32

     0,0,0,0

     0,0,32,0,0,0,0,0,0,0,1,0,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,0,32,0,0,0,0,0,0,64

     0,0,64,0,32,0,0,32,0,0,32,0,0,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,1,32,0,0,32,0,0,32,0,0

     32,0,0,32,0,0,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,32,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8

     0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,0,4,8,255,255,15

     0,0,0,0

     

    It's playfield data, and the last four bytes on each page is just padding to keep it aligned, 63 values on each line plus four padding bytes = 256

    I had to do it like that because I read three values at a time, so when the index is 251 I increment the page and set Index to 0

    I can scroll perfectly to the left like that, but the problem is when scrolling back, the data is for the pixels to be turned on after scrolling the screen, so every three values is a playfield column, so ofcourse when scrolling the other way, I now need to read the data that's 99 (width 32 x height 3 + one column 3) 

    positions before Index, pretty easy

     

     lda Index

     sbc #distance

     tay

     

    but when Index is less than 99 and the left column is on the previous page you need to also skip the padding bytes right? I tried it like this

     

     

     lda Index

     cmp #distance 

     bcs .skip    ; skip if Index is bigger or equal to distance

     

     dec Page    ; decrement Page if Index is smaller than distance

     sec

     sbc #distance + 4

     jmp .123

     

    .skip

     sec

     sbc #distance

    .123

     

     tay

     

    Anything wrong with that code? or else I'll post more of it

    The problem I'm seeing is that sometimes the playfield moves up, then back down again, so seems to have to do with the distance.


  11. On 5/15/2020 at 12:46 AM, ZeroPage Homebrew said:

     

    Ooh, if someone's handing out Edladdin Twin 78 controllers, please put me on the list too!!

    I have one of those, and I'm surprised I've not seen anyone complain about how horrible the joysticks are that they use, I believe they are for industrial machine use, made to be easy to hold in one direction for longer periods of time. They're impossible to do any kind of serious precision gaming with, everything about them feels wrong, the lack of resistance, hard to hit the diagonal spot, how far you have to move the joystick to push the buttons, and that there is no stop there, you can move it alot further after that, if you're moving right and want to go left you have to move the joystick 90 degrees!!! ok rant over.. I've been so pissed at that thing since spending $179 plus international shipping, plus custom fees..

    Selling it for the price of the most expensive pro gaming arcade sticks kinda makes you think that's what you're getting, but the main part is not even meant for gaming. 👎

×
×
  • Create New...