Giter Club home page Giter Club logo

Comments (7)

devmiyax avatar devmiyax commented on August 20, 2024

Rotate parameters at SonicR

Xst: 0.500000, Yst: 0.500000, Zst: 0.500000, deltaXst: 0.500000 deltaYst: 0.500000 deltaX: 0.500000
deltaY: 0.500000 A: 0.500000 B: 0.500000 C: 0.500000 D: 0.500000 E: 0.500000 F: 0.500000 Px: 0.000000 Py: 0.000000 Pz: 0.000000
Cx: 0.000000 Cy: 0.000000 Cz: 0.000000 Mx: 0.500000 My: 0.500000 kx: 0.500000 ky: 0.500000 KAst: 0.000000
deltaKAst: 0.000000 deltaKAx: 0.000000 kadr 00000000

Xst: 0.000000, Yst: 0.000000, Zst: 0.000000, deltaXst: 0.000000 deltaYst: 1.000000 deltaX: 1.000000
deltaY: 0.000000 A: 0.017578 B: 0.243164 C: 2.330078 D: -2.343750 E: 0.000977 F: 0.017578 Px: 176.000000 Py: 112.000000 Pz: 256.000000
Cx: 176.000000 Cy: 112.000000 Cz: 256.000000 Mx: 1279.101563 My: 2318.261719 kx: 2.343750 ky: 2.343750 KAst: 64976.000000
deltaKAst: 1.000000 deltaKAx: -156.000000 kadr 0005FBA0

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

Ideal RBG0( Panzer Dragon )

Xst: 0.000000, Yst: 0.000000, Zst: 0.000000, deltaXst: 0.000000 deltaYst: 1.000000 deltaX: 1.000000
deltaY: 0.000000 A: 4.000000 B: 0.000000 C: 0.000000 D: 0.000000 E: 0.067383 F: 3.999023 Px: 176.000000 Py: 112.000000 Pz: 175.000000
Cx: 176.000000 Cy: 112.000000 Cz: 0.000000 Mx: -175.500000 My: -1547.471680 kx: 1.000000 ky: 1.000000 KAst: 32868.000000
deltaKAst: 1.000000 deltaKAx: 0.000000 kadr 00020190

Xst: 0.000000, Yst: 0.000000, Zst: 0.000000, deltaXst: 0.000000 deltaYst: 1.000000 deltaX: 1.000000
deltaY: 0.000000 A: 1.000000 B: 0.000000 C: 0.000000 D: 0.000000 E: 1.000000 F: 0.000000 Px: 176.000000 Py: 112.000000 Pz: 175.000000
Cx: 176.000000 Cy: 112.000000 Cz: 0.000000 Mx: 102.000000 My: 118.000000 kx: 1.000000 ky: 1.000000 KAst: 0.000000
deltaKAst: 0.000000 deltaKAx: 0.000000 kadr 00000000

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

Should we ignore deltaKAx???

image

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

memo

Rotate Param Addres = 0x5e5fb40
Transfer using SCU DMA from the address = 0x0600c9e4,0x600CA42
cpu write long 0x600CA40 @ PC 060215e6 (Slave)

0x060215D2: mov.l @(0x00c. r14). r3
r14=06001788 + C = 06001794

0x06008792

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

not initialized stack???

06021414
1788 write @ 06021428
178c write @ 0602143c
1790 write @ 06021446
1794 ??? <- read before write and send it to RBG0 param
1798 ??? <- never used
179C ??? <- never used
register backup
17BC

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

Current investment status.

Sonic-R rotate screen issue.

Issue

At first -156.0(0xFF640000) is written to dKax parameter, Then dKax is changed evey frame.
dKax shoud be 0 always.

Abstract

The coordinate of 1st character is written to 0x0600BB18.
This value is copied to slave cpu's stack area 06001794.
At PC 060214FA access the stack area(06001794) without initializing.
Then copy to dKax.

0601FFA6
 0602949E
  060063B4: mov.l @(0x1D0, pc), r12; 06006584
  060063BC: mov.l r0, @-r15
  060063BE: sub r12, r0      -> R12 = 00018000
  060063C0: mov.l r0, @r5
  06006420: add r12, r0 -> R12 = 00030000
  06006422: mov.l r0, @r5
  060064c0: sub r1,r0   -> R12 = 00030000
  060064C2: mov.l r0, @R5
  06006512: mov.l @r15+, r0
  06006514: mov.l r0, @R5  -> referenceed at 060352A4

060200AE
 0601F93C
  060352A4: mov.l @r11, r1        -> read from 0600B5A8
  060352A4: mov.l r1, @(0x20,r11)  -> write to 0600B5C8
 0601F946
  06031148
   0602F744: mov.l @r14, r2          -> read from 0600177C  FFFFFA12
   0602F748: mov.l @(0x020, r12), r1   -> read from 0600B5C8 FF4FA500 
   0602F74A: shll2 r2
   0602F74C: shll2 r2
   0602F74E: shll2 r2
   0602F750: add r2, r1
   0602F752: mov.l r1, @r12 -> Abnormal value is written to 0600BB18


0601fe56 
 060299B8  SP 060017CC
 060299DE  
   0600878E SP 060017B0
   060088A2 rts
 060299F4 
   0600878E SP 060017A0
   060088A2 rts
 060299FC mov.l @r10, r4     -> copy from 0600BB18 to R4
 06029A0A
   0600878E SP 060017CC
   06008792 mov.l r4, @-r15  -> Abnormal value is written to 06001794, and refernced at 060214FA.
   060088A2 rts
0601FE5A 

0601FE6E
 060213EA
  06021424 add #0xEC, r15   0600179c->06001788
  060214FA mov.l @(0x00C, r14), r3 -> read Abnormal value from 06001794(0x1788+0xc)
  0602150E mov.l r3, @r1           <- send this address(0600ca40) value to dKax using DMA


Stack 
  1788   write @ 06021428
  178c   write @ 0602143c 
  1790   write @ 06021446
  1794   ???
  1798   ???
  179C   ???
        registers
  17BC


SCUDMA: 
  0600C9E4 to 25E5FB40 size=00000240
  0600CA40 to 25E5FB9C

  0600C9E4+1c 

Master CPU operation

At first write FF640000 to 0600BB18. this value is referenced by Slave CPU and copy to dKax.

06023c80:
 060279D8:
  0600AE44:
  0600ADAE: mov.b @r0, r1    ->00279BE9
  0600ADB4: mov.b r1, @r0    ->write to 0027A819

060279DC:
 0600ADAE: mov.b @r0, r1    ->0027A819
 0600ADB4: mov.b r1, @r0    ->write to 0027A984 

060279DC:
 0600ADAE: mov.b @r0, r1    ->0027A984
 0600ADB4: mov.b r1, @r0    ->write to 0027AA10

0602BC12:
  06008c0a: mov.b @r0+, r3   @r0: 0027AA10
  06008c0c: mov.b r3, @r1    copy to 060CF1C8

06024B1C:
  0602202A: mov.l @(r0, r5), r1   addr: 0x???+060CF1C8(060CF234) , val: FF640000
  06022034: mov.l r1, @(r0, r12)

These values is each chrarcter's coordinate. if forced to chande this value, the location of egg man is changed.
Therefore this value shoud not be refernced!

dKy

read from 06021574(static area)

0x06021506: mov.l @(0x070, pc), r1 ; 0x06021574
0x06021508: mov.l r1, @r2

from yabause.

devmiyax avatar devmiyax commented on August 20, 2024

fixed by cfd58d2

from yabause.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.