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

Hook draw api #6

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Hook draw api #6

wants to merge 6 commits into from

Conversation

zurachu
Copy link
Owner

@zurachu zurachu commented Jul 13, 2017

#2 (comment) の対応
以下関数を自前でフックして、4階調用描画バッファに描き込むようにしました。

  • pceFontPut() => 中でカーネルの pceLCDSetBuffer() を呼び出していた
  • pceFontPutStr() => カーネルの pceFontPut() を呼び出していた
  • pceFontPrintf() => カーネルの pceFontPutStr() を呼び出していた
  • pceLCDDrawObject() => 中で vbuff(pceLCDSetBuffer() で設定された仮想画面バッファ)を参照していた
  • pceLCDLine() => 中で vbuff(pceLCDSetBuffer() で設定された仮想画面バッファ)を参照していた
  • pceLCDPaint() => 中でカーネルの pceLCDSetBuffer() を呼び出していた
  • pceLCDPoint() => 中で vbuff(pceLCDSetBuffer() で設定された仮想画面バッファ)を参照していた

また、高速 RAM に配置するプログラムが大きくなっていたので、高速 RAM に転送する部分としない部分を切り分けました。

…時、取り出しの逆の処理なので仮想画面バッファを設定するよう変更
…て描き込まれてしまっていたので、これら API もフックするよう変更

Code Section Size 694 => 8e0
Data Section Size 30 => 48
に増えています。高速 RAM に転送するものとそうでないものを区別した方が良いかもしれません。
…nt は処理が同じになるため、まとめる

Code Section Size 8e0 => 878
に削減。
…ッファに描き込んでくれていなかったので、これらもフック

Code Section Size 878 => 8fc
Data Section Size 48 => 4c
に増えています。
…から外す

高速 RAM 分が
Code Section Size 8fc=> 408
Data Section Size 4c => 8
Bss Section Size 4 => 0
に減っています。
zurachu added a commit to zurachu/pceth2 that referenced this pull request Jul 13, 2017
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

Successfully merging this pull request may close these issues.

1 participant