ok , jetzt habe ich zwar schon eine Menge BEfehle abgetippt, aber bin
mir noch sehr unsicher beim Einlesen aus einem "ROM-Game".
So sieht ein Inhat aus einem Test ROM aus:
1 | à¢ðe¢0a@0ÿ€€b cqÿÒr’ "&óqÿb Aÿ, î € À ƒÀ ?ÃÃÀ ÿãÃÀ ÿããÀ?€ 3ÿÃãÀÀÀ{àãàÿðààãàÿøàþáàñüð?ÿÁáàð|ð=ÿááàð>ð?ÿááàð>ð?óñáàðøùñáàðÿžÿóáàð>ÿóáàø>ÿ?ãÁàø<ÿÃÁà||<ÿƒÃà~|>? Ãà?ø> ÃÀø ÃÀð ‡ÀÀ ‡À € €
|
Eigentlich ist ein Befehl 2 Byte groß.
Wenn ich jetzt die ersten Bytes auslese, müsste ja ein bekannter Befehl
auftauchen.
Bspw.:
https://www.rapidtables.com/convert/number/ascii-to-hex.html
1 | 12 02 20 e0 a2 01 f0 65 a2 30 61 40[\code]
|
2 |
|
3 |
|
4 | Jetzt wollte ich mit Hilfe einer Textdatei einfach mal alle Befehle durchgehen, also einlesen.
|
5 | Ich habe den ersten Befehl zu Test reingeschrieben:
|
6 | 0x00EE
|
7 | Mit diesem Code:
|
8 | [code]ofstream file2("example.bin", ios::out | ios::binary | ios::ate);
|
9 | if (file2.is_open()) {
|
10 | file2 << 0b0000000011101110;
|
Wenn ich das dann aber auslese, werden die Nullen am Anfang ja einfach
weggelassen.
Wenn ich dann den ersten Befehl (2 Byte) einlese erhalte ich :
:11101110"irgendeinanderererOpcode !!"
ich würde aber gerne wieder 0b0000000011101110 erhalten, denn es geht ja
um den Befehl 0x00EE , so erhalte ich aber nur 0xEE, was ja eigentlich
schon das gleiche ist .
oh man .
Vielleicht hat jemand einen Denkanstoß :P