mirror of
https://github.com/alfishe/amiga-bootcamp.git
synced 2026-06-13 00:26:28 +00:00
Fixed frame again (#2)
* Fixed frame again Correct vtable layout differences between GCC and StormC++. * Fixed frame once again
This commit is contained in:
parent
05e4c79762
commit
ef65678203
2 changed files with 7 additions and 7 deletions
|
|
@ -92,17 +92,17 @@ StormC++ uses its own ABI:
|
||||||
|
|
||||||
```
|
```
|
||||||
GCC 2.95.x vtable layout: StormC++ vtable layout:
|
GCC 2.95.x vtable layout: StormC++ vtable layout:
|
||||||
┌──────────────────────┐ ┌──────────────────────┐
|
┌──────────────────────┐ ┌──────────────────────┐
|
||||||
│ offset_to_top = 0 │ vtable[-2] │ (no offset_to_top) │
|
│ offset_to_top = 0 │ vtable[-2] │ (no offset_to_top) │
|
||||||
├──────────────────────┤ ├──────────────────────┤
|
├──────────────────────┤ ├──────────────────────┤
|
||||||
│ RTTI pointer │ vtable[-1] │ (RTTI pointer or 0) │
|
│ RTTI pointer │ vtable[-1] │ (RTTI pointer or 0) │
|
||||||
├──────────────────────┤ ← vptr ├──────────────────────┤ ← vptr
|
├──────────────────────┤ ← vptr ├──────────────────────┤ ← vptr
|
||||||
│ virtual destructor │ vtable[0] │ first virtual method │ vtable[0]
|
│ virtual destructor │ vtable[0] │ first virtual method │ vtable[0]
|
||||||
├──────────────────────┤ ├──────────────────────┤
|
├──────────────────────┤ ├──────────────────────┤
|
||||||
│ virtual method 1 │ vtable[1] │ second virtual meth │ vtable[1]
|
│ virtual method 1 │ vtable[1] │ second virtual meth │ vtable[1]
|
||||||
├──────────────────────┤ ├──────────────────────┤
|
├──────────────────────┤ ├──────────────────────┤
|
||||||
│ ... │ │ ... │
|
│ ... │ │ ... │
|
||||||
└──────────────────────┘ └──────────────────────┘
|
└──────────────────────┘ └──────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ All characters are stored in a single bitmap strip. The `tf_CharLoc` table tells
|
||||||
```
|
```
|
||||||
tf_CharData bitmap:
|
tf_CharData bitmap:
|
||||||
┌──┬───┬──┬───┬──┬──┬───────────────────┐
|
┌──┬───┬──┬───┬──┬──┬───────────────────┐
|
||||||
│A │ B │C │ D │E │F │ ... all chars ... │
|
│A │ B │C │ D │E │F │ ... all chars ... │
|
||||||
└──┴───┴──┴───┴──┴──┴───────────────────┘
|
└──┴───┴──┴───┴──┴──┴───────────────────┘
|
||||||
|
|
||||||
tf_CharLoc[ch - tf_LoChar]:
|
tf_CharLoc[ch - tf_LoChar]:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue