Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #12

Open
8 of 18 tasks
tamaroning opened this issue Jul 12, 2023 · 0 comments
Open
8 of 18 tasks

Roadmap #12

tamaroning opened this issue Jul 12, 2023 · 0 comments

Comments

@tamaroning
Copy link
Collaborator

tamaroning commented Jul 12, 2023

とりあえず、mimicontrollertestを実行しながら、必要な部分をミニマルにインクリメンタルに実装する。
実装してない箇所は、TODO:コメント、クリティカルな箇所はabortさせる。
最初はブートプロセス(PIF ROM+ブートコード)なので、以下のリンクで必要な機能を見据えながら進める。

https://www.retroreversing.com/n64bootcode

Boot process

  • 各プロセッサへのリセット信号、レジスタ初期化
  • decode ROM header
  • check ROM NUS-CIC
  • simulate side effects of PIF ROM (PALカートリッジを含む)

CPU

  • simulate CPU cycles
  • non-COP instructions
    • partly done
  • COP0 instructions (主に制御レジスタの操作)
    • partly done
  • COP1 instructions (FPU)
  • interruptions
  • exceptions
  • CPU mode
    • モードによってアドレスのbit幅が変わる

RSP (in RCP)

  • simulate RSP cycles
  • RSP instructions

RDP (in RCP)

TODO

TLB

TODO

Interfaces

  • RI
    • almost done
  • PI
    • almost done
  • AI
    • partly done
  • VI
    • partly done
  • SI
    • partly done

References

@tamaroning tamaroning pinned this issue Jul 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant