PlanetSwitch Planet3DS PlanetVita PSP.de PlanetiPhone Classics Forum Handheld-Wiki

PGN-ID:[?] (Nicht eingeloggt)
Login
Registrieren
PlanetDS PlanetGameboy N-Page.de
portablegaming.de  

Zurück   portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung


Development Abteilung Ihr wollt für euren Lieblingshandheld Spiele oder Tools entwickeln?
Bitte die Präfixe benutzen!

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 11.09.2004, 17:16   #1
TMC
 
Registriert seit: 23.04.2003

TMC hat die Renommee-Anzeige deaktiviert

Standard BIOS-Call fuer SinusTabelle

Hi
ist es richtig das man mit dem Bios-Call "BgAffineSet" Sinuswerte errechnen kann? Wie kann man das nutzen um sich zb. eine Sinustabelle anzulegen? Oder gibt es ein Programm mit dem man eine Lookuptable erzeugen kann?


cya
TMC ist offline   Mit Zitat antworten
Sponsored Links
Alt 11.09.2004, 18:24   #2
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard RE: BIOS-Call fuer SinusTabelle

Das ist schon machbar, aber die internen Funktionen waren teilweise sehr ungenau (zu kleine fractation). Deshalb würde ich einen eigene LUt empfehlen (is ja eh nicht lang).
goldmomo ist offline   Mit Zitat antworten
Alt 11.09.2004, 18:40   #3
TMC
 
Registriert seit: 23.04.2003

TMC hat die Renommee-Anzeige deaktiviert

Standard

Am besten anstatt 360 Grad lieber 256 Grad verwenden wegen dem Ueberlauf, richtig?

Nagut, dann werde ich mir mal was mit nem Basicinterpreter bauen.

cya
TMC ist offline   Mit Zitat antworten
Alt 11.09.2004, 18:50   #4
Moderator
 
Benutzerbild von goldmomo
 
Registriert seit: 03.02.2003

goldmomo hat die Renommee-Anzeige deaktiviert

Standard

Naja etwas genauer schon So 1024 Schritte pro 360° sind wohl Minimum, um einen sauberen Sinus zu haben. Besonders bei Rotationen in welchen die Strecken sehr lang sind.
goldmomo ist offline   Mit Zitat antworten
Alt 13.09.2004, 15:14   #5
TMC
 
Registriert seit: 23.04.2003

TMC hat die Renommee-Anzeige deaktiviert

Standard

Du hast natuerlich vollkommen Recht. Dennoch benutze ich erstmal ne Sinustabelle mit 256 Winkeln. So spare ich mir wohl einige abfragen.

cya
TMC ist offline   Mit Zitat antworten
Alt 05.08.2010, 05:05   #6
Jim männlich
 
Benutzerbild von Jim
 
Registriert seit: 14.08.2005

Jim hat die Renommee-Anzeige deaktiviert

Standard AW: BIOS-Call fuer SinusTabelle

Ich erlaube mir mal diesen alten Thread auszugraben.

Ich hab hier noch ein zu 3/4 disassembledes GBA-Bios hier rumliegen (selber gedumpt mit dieser Hilfe und niedergeschrieben), womit ich folgende LUT beitragen kann.

Code:
SinTable:
        .hword    0x0000, 0x0192, 0x0323
        .hword    0x04B5, 0x0645, 0x07D5
        .hword    0x0964, 0x0AF1, 0x0C7C
        .hword    0x0E05, 0x0F8C, 0x1111
        .hword    0x1294, 0x1413, 0x158F
        .hword    0x1708, 0x187D, 0x19EF
        .hword    0x1B5D, 0x1CC6, 0x1E2B
        .hword    0x1F8B, 0x20E7, 0x223D
        .hword    0x238E, 0x24DA, 0x261F
        .hword    0x275F, 0x2899, 0x29CD
        .hword    0x2AFA, 0x2C21, 0x2D41
        .hword    0x2E5A, 0x2F6B, 0x3076
        .hword    0x3179, 0x3274, 0x3367
        .hword    0x3453, 0x3536, 0x3612
        .hword    0x36E5, 0x37AF, 0x3871
        .hword    0x392A, 0x39DA, 0x3A82
        .hword    0x3B20, 0x3BB6, 0x3C42
        .hword    0x3CC5, 0x3D3E, 0x3DAE
        .hword    0x3E14, 0x3E71, 0x3EC5
        .hword    0x3F0E, 0x3F4E, 0x3F84
        .hword    0x3FB1, 0x3FD3, 0x3FEC
        .hword    0x3FFB, 0x4000, 0x3FFB
        .hword    0x3FEC, 0x3FD3, 0x3FB1
        .hword    0x3F84, 0x3F4E, 0x3F0E
        .hword    0x3EC5, 0x3E71, 0x3E14
        .hword    0x3DAE, 0x3D3E, 0x3CC5
        .hword    0x3C42, 0x3BB6, 0x3B20
        .hword    0x3A82, 0x39DA, 0x392A
        .hword    0x3871, 0x37AF, 0x36E5
        .hword    0x3612, 0x3536, 0x3453
        .hword    0x3367, 0x3274, 0x3179
        .hword    0x3076, 0x2F6B, 0x2E5A
        .hword    0x2D41, 0x2C21, 0x2AFA
        .hword    0x29CD, 0x2899, 0x275F
        .hword    0x261F, 0x24DA, 0x238E
        .hword    0x223D, 0x20E7, 0x1F8B
        .hword    0x1E2B, 0x1CC6, 0x1B5D
        .hword    0x19EF, 0x187D, 0x1708
        .hword    0x158F, 0x1413, 0x1294
        .hword    0x1111, 0x0F8C, 0x0E05
        .hword    0x0C7C, 0x0AF1, 0x0964
        .hword    0x07D5, 0x0645, 0x04B5
        .hword    0x0323, 0x0192, 0x0000

        .hword    0xFE6E, 0xFCDD, 0xFB4B
        .hword    0xF9BB, 0xF82B, 0xF69C
        .hword    0xF50F, 0xF384, 0xF1FB
        .hword    0xF074, 0xEEEF, 0xED6C
        .hword    0xEBED, 0xEA71, 0xE8F8
        .hword    0xE783, 0xE611, 0xE4A3
        .hword    0xE33A, 0xE1D5, 0xE075
        .hword    0xDF19, 0xDDC3, 0xDC72
        .hword    0xDB26, 0xD9E1, 0xD8A1
        .hword    0xD767, 0xD633, 0xD506
        .hword    0xD3DF, 0xD2BF, 0xD1A6
        .hword    0xD095, 0xCF8A, 0xCE87
        .hword    0xCD8C, 0xCC99, 0xCBAD
        .hword    0xCACA, 0xC9EE, 0xC91B
        .hword    0xC851, 0xC78F, 0xC6D6
        .hword    0xC626, 0xC57E, 0xC4E0
        .hword    0xC44A, 0xC3BE, 0xC33B
        .hword    0xC2C2, 0xC252, 0xC1EC
        .hword    0xC18F, 0xC13B, 0xC0F2
        .hword    0xC0B2, 0xC07C, 0xC04F
        .hword    0xC02D, 0xC014, 0xC005
        .hword    0xC000, 0xC005, 0xC014
        .hword    0xC02D, 0xC04F, 0xC07C
        .hword    0xC0B2, 0xC0F2, 0xC13B
        .hword    0xC18F, 0xC1EC, 0xC252
        .hword    0xC2C2, 0xC33B, 0xC3BE
        .hword    0xC44A, 0xC4E0, 0xC57E
        .hword    0xC626, 0xC6D6, 0xC78F
        .hword    0xC851, 0xC91B, 0xC9EE
        .hword    0xCACA, 0xCBAD, 0xCC99
        .hword    0xCD8C, 0xCE87, 0xCF8A
        .hword    0xD095, 0xD1A6, 0xD2BF
        .hword    0xD3DF, 0xD506, 0xD633
        .hword    0xD767, 0xD8A1, 0xD9E1
        .hword    0xDB26, 0xDC72, 0xDDC3
        .hword    0xDF19, 0xE075, 0xE1D5
        .hword    0xE33A, 0xE4A3, 0xE611
        .hword    0xE783, 0xE8F8, 0xEA71
        .hword    0xEBED, 0xED6C, 0xEEEF
        .hword    0xF074, 0xF1FB, 0xF384
        .hword    0xF50F, 0xF69C, 0xF82B
        .hword    0xF9BB, 0xFB4B, 0xFCDD
        .hword    0xFE6E
Man kann also rauslesen das 0x4000 = 1.0 ist, also 14 Bit (fractation) für die Nachkommastellen. Und es sind 256 Einträge. Was dann auch der Grund für die Ungenauigkeit sein dürfte, die Goldmomo meinte.
Die Tabelle wird bei den Biosfunktionen "BgAffineSet" und "ObjAffineSet" verwendet. Wenn man mit Hilfe des Codes dieser Funktionen das erhaltene Resultat zurückrechnet kommt man auf die verwendenten Sinus-Werte, aber da ist die Verwendung einer eigenen LUT wohl einfacher.

Geändert von Jim (05.08.2010 um 06:03 Uhr)
Jim ist offline   Mit Zitat antworten
Antwort

  portablegaming.de > Allgemeines Spielehandheldforum, GBA, N-Gage und Development > Development Abteilung

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hab ein Bios Problem! Deathadder PC/Mac 22 14.05.2007 17:22
"PnP BIOS Extension" muckt rum ôO tommiboy PC/Mac 4 19.12.2005 14:33
BIOS Update tommiboy PC/Mac 6 09.03.2005 19:56
gba bios CyTe Development Abteilung 1 03.05.2003 13:54


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
Template-Modifikationen durch TMS
PortableGaming.de © bk 2000 - 2010

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231