Autor Wątek: Markery bloków os.nb  (Przeczytany 1765 razy)

Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Markery bloków os.nb
« dnia: Niedziela, 19 Kwietnia 2009, 19:54 »
jak wszyscy wiemy nbmerge jest bardzo prymitywnym programem, nawet za bardzo. Potrzebuję czegoś, co wpakuje marker o rozmiarze 0x40 co 0x800 bajtów, mniej więcej tego rodzaju
FF FF FD F9 FF FF 00 00 00 00 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
oczywiście przyrostowy jak każdy inny
pytam się, czy ktoś nie zna narzędzia do tego, bo szczerze powiedziawszy o tej porze nie chce mi się programować po swojemu...


btw, osnbtool nie działa poprawnie

w kwestii wyjaśnienia, zastanawiam się nad hp 214, ale najpierw składam sobie rom z .raw od podstaw, niestety ma takie dziwne markery, które najprawdopodobniej będę musiał sam poustawiać.
« Ostatnia zmiana: Niedziela, 19 Kwietnia 2009, 20:04 wysłana przez nothin »

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Podziękowań: 140
  • Samsung Note 4
Odp: Markery bloków os.nb
« Odpowiedź #1 dnia: Niedziela, 19 Kwietnia 2009, 20:51 »
btw, osnbtool nie działa poprawnie

echh..... moja pierwsza myśl była właśnie taka :/

ktoś kiedyś na podstawie mojego tutka portował na jakiegoś hpka... i w sumie posłużył się osnbtoolem i mu działało. Ale to była chyba 614....


Offline globalbus

  • GZU
  • Core
  • ****
  • Podziękowań: 77
  • N900 + Zest
Odp: Markery bloków os.nb
« Odpowiedź #2 dnia: Poniedziałek, 20 Kwietnia 2009, 20:51 »
614 nie posiada markerów :)



dodano: Niedziela, 19 Kwiecień 2009, 21:08
bardzo "sample" code, ale obrazuje ideę. Jeśli komuś się przyda, to zrobię automat (sczytywanie sektorów, zawartości, pustych sektorów itd)
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
    FILE * handle;
    handle = fopen("markers.bin", "ab");
    //constans
    char jmax = 0x63;
    char header[]= {0xFF, 0xFF, 0xFF, 0xF9};
    char footer[]={0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
    for(int j=0; j <= jmax; j++)
    {
         for(int i=0; i<=0xFF; i++)
         {
                 fwrite (header, 1, sizeof(header), handle);
                 fputc(i, handle);
                 fputc(j, handle);
                 fwrite(footer, 1, sizeof(footer), handle);
         }
    }
    fclose(handle);
    system("PAUSE");
    return EXIT_SUCCESS;
}