Правила форума
0 Пользователей и 1 Гость просматривают эту тему.
Скорее на массу, чтобы шить начало ПЗУ.SAMael, у него нет TSOP сокета. Или есть? Я в своем время купил сам программатор +21 адаптер за меньше $30, на заре продаж, когда на Казусе зафорсили. А ща чото цены все повзлетали (даже без учета курса) и вообще что-то неадекватное (видимо спрос вырос, барыги и по вылазили).
Nikooone, Тулза такая простая
ну прости что опять к тебе обращусь, я в программировании туг, а можно дополнить или такую же сделать прожку, чтоб наоборот собирала из 2х половинок файл пазязя. Собрал просто переходник, он же и дампер получился
Юзай сраный хекс редактор.
а можно дополнить или такую же сделать прожку, чтоб наоборот собирала из 2х половинок файл пазязя. Собрал просто переходник, он же и дампер получился
Сделаю
У меня 2х ПЗУшный карик, и переходник сделал с расчетом на поочередную запись каждой четных и нечетных битабайтов
Можно было и в 16 битном формате сразу и писать и читать, раз уж переходник сам сделал 8)У меня вот такая "городушка"
copy /b file1 + file2 + file3 result
распиновку не подскажешь, или это готовый переходник? я бился долго но так и не нашел распиновок. Набора переходничков просто нет(
распиновку не подскажешь, или это готовый переходник? я бился долго но так и не нашел распиновок.
Может батник соорудить или вообще в консоли набратьКод: [Выделить]copy /b file1 + file2 + file3 result
Это для последовательной склейки, а нужно параллельно два восьмибитных файла склеить.
Добавил функцию склеивания файлов. По кнопке Merge... откроется диалог в котором нужно выбрать два файла (я не делал проверку, чтобы размер файлов совпадал, поэтому будет склеивать пока один из файлов не кончится), потом выбираем какой из файлов содержит чётные байты и после этого происходит склейка. Результирующий файл заканчивается на "_merged.bin"
#include <stdio.h>#include <string.h>#include <stdlib.h>int fsize(FILE *f){ int temp; fseek(f,0,SEEK_END); temp = ftell(f); fseek(f,0,SEEK_SET); return temp;}/* interlace byte merger 2int main(int argc, char *argv[]){ FILE *file_h; u16 *outb; unsigned char *inb0, *inb1; unsigned long size,i; if(argc>1) { file_h = fopen(argv[1],"rb"); size = fsize(file_h); inb0 = malloc(size); fread(inb0,1,size,file_h); fclose(file_h); file_h = fopen(argv[2],"rb"); size = fsize(file_h); inb1 = malloc(size); fread(inb1,1,size,file_h); fclose(file_h); outb = malloc(size<<1); for(i=0; i<size; i++) { outb[i] = inb0[i]|(inb1[i]<<8); } file_h=fopen(argv[3],"wb"); fwrite(outb,2,size,file_h); fclose(file_h); free(outb); free(inb0); free(inb1); printf("Done.\n"); } return 0;}*//* interlace byte splitter 2int main(int argc, char *argv[]){ FILE *file_h; unsigned short *inb; unsigned char *outb0, *outb1; unsigned long size,i; if(argc>1) { file_h = fopen(argv[1],"rb"); size = fsize(file_h); inb = (unsigned short*)malloc(size); outb0 = (unsigned char*)malloc(size>>1); outb1 = (unsigned char*)malloc(size>>1); fread(inb,1,size,file_h); fclose(file_h); for(i=0; i<(size>>1); i++) { outb0[i] = inb[i] & 0xFF; outb1[i] = inb[i] >> 8; } file_h=fopen(argv[2],"wb"); fwrite(outb0,1,size>>1,file_h); fclose(file_h); file_h=fopen(argv[3],"wb"); fwrite(outb1,1,size>>1,file_h); fclose(file_h); free(inb); free(outb0); free(outb1); printf("Done.\n"); } return 0;}*/
сплиттер-мергер - это задачка для олимпиады по информатике для третьеклашек дарюКод: [Выделить]#include <stdio.h>#include <string.h>#include <stdlib.h>int fsize(FILE *f){ int temp; fseek(f,0,SEEK_END); temp = ftell(f); fseek(f,0,SEEK_SET); return temp;}/* interlace byte merger 2int main(int argc, char *argv[]){ FILE *file_h; u16 *outb; unsigned char *inb0, *inb1; unsigned long size,i; if(argc>1) { file_h = fopen(argv[1],"rb"); size = fsize(file_h); inb0 = malloc(size); fread(inb0,1,size,file_h); fclose(file_h); file_h = fopen(argv[2],"rb"); size = fsize(file_h); inb1 = malloc(size); fread(inb1,1,size,file_h); fclose(file_h); outb = malloc(size<<1); for(i=0; i<size; i++) { outb[i] = inb0[i]|(inb1[i]<<8); } file_h=fopen(argv[3],"wb"); fwrite(outb,2,size,file_h); fclose(file_h); free(outb); free(inb0); free(inb1); printf("Done.\n"); } return 0;}*//* interlace byte splitter 2int main(int argc, char *argv[]){ FILE *file_h; unsigned short *inb; unsigned char *outb0, *outb1; unsigned long size,i; if(argc>1) { file_h = fopen(argv[1],"rb"); size = fsize(file_h); inb = (unsigned short*)malloc(size); outb0 = (unsigned char*)malloc(size>>1); outb1 = (unsigned char*)malloc(size>>1); fread(inb,1,size,file_h); fclose(file_h); for(i=0; i<(size>>1); i++) { outb0[i] = inb[i] & 0xFF; outb1[i] = inb[i] >> 8; } file_h=fopen(argv[2],"wb"); fwrite(outb0,1,size>>1,file_h); fclose(file_h); file_h=fopen(argv[3],"wb"); fwrite(outb1,1,size>>1,file_h); fclose(file_h); free(inb); free(outb0); free(outb1); printf("Done.\n"); } return 0;}*/
У меня еще есть.
да уже не нужно, не подойдет он для моих целей. Всё бы хорошо просто не могу найти подходящую ПЗУ чтоб была FLASH и 16b, так как оч нужен пин "WE"
какого объема?
Ибо автор юзает 1мб ПЗУ *16бит SST39LF/VF160, но пишет 2мб ромом = 8б.... Вапрос как потом это сегушка то читать то будет ибо 16б =1мб
из статейки первой стр выше так и ни черта не понял, нужен байт свап предварительно рому или нет
объем памяти дампов Сеговских игр сохранены в 8 бит. То есть, даже тот же UMK-3 он весит 4 МБ при 8 бит, а приставка его будет читать как 2 МБ при 16 бит. Как то,так. если использовать DVD как программатор, то при подключении 16 бит(Zoran) свап не нужен, а если в 8 бит (Mediatek, Sunplus) то скорей всего возможно нужно .
Так же при прошивке реального картриджа не забываем делать SWAP BYTE рома игры в каком нибудь HEX редакторе, так как DVD пишет в восьми-битном режиме
объем памяти дампов Сеговских игр сохранены в 8 бит. То есть, даже тот же UMK-3 он весит 4 МБ при 8 бит, а приставка его будет читать как 2 МБ при 16 бит. Как то,так.