http://hitler-anal-software.com/temp...e-facepalm.gif
Вид для печати
screwdriver на вас нет :v2_devil:
Ну начинается. Так и думал, что .sna советовать приползут. Я, кажется, не спрашивал - какой бы мне формат снапшотов поюзать. Вопрос был про TAP.
Практика показывает, что на моём железе XP64 работает не хуже XP32. Субъективно не медленнее. Обсудим скорость работы Win7 на старом железе?
Ты, видимо, судишь о XP64, не щупав её. На основании юзанья 64-битных 7-ки или висты.
Вопрос про фикс FUSE, чтобы сохранял размер окна/фильтр, открыт.
http://dlcorp.nedopc.com/styles/pros...ost_target.gifby deathsoft » 10 Mar 2013, 06:26
version 0.38.0 10 mar 2013 (deathsoft)
проблема с загрузкой снапшота у меня возникла в декабре 2012 года
все твои аргументы уходят куда? правильно в сад
на декабрь я использовал самую последнюю версию эмулятора.
Оу-оу парень, полегше! Я ж пошутил!!111
http://hitler-anal-software.com/temp/sclmn.jpg
---------- Post added at 15:05 ---------- Previous post was at 15:03 ----------
Ты о ней сообщил ? Телепаты в отпуске. Psb столкнулся, сообщил - сразу вышел фикс.
И да, кстати, ни в одном из фиксов унриала не фигурирует строчка:
хххххх (jerri)
Т.е. jerri не сообщил ни об одной проблеме.
Oleg N. Cher, можно и тапку прикрутить, но автозагрузка тапки это не самый быстрый способ
Курите факи, они рулез!
В унриале есть мгновенная загрузка тапов. Грузится быстрее чем TRD.
version 0.37.3.fix1 16 feb 2009 (deathsoft)Цитата:
TapeTraps=1
+Tape traps (molodcov_alex)
и ВНЕЗАПНО тамже
"-При загрузке снапшотов убрано выставление конфигурации pentagon 128 (molodcov_alex)"
Так что не рассказывай сказки про актуальную версию на 2012 год.
В марте 2013 сделан опциональный лок 128 памяти. А пентагон никуда не включался уже давно.
ай да не 3.14щи, ладно? в твоём ТЗ есть 2 позиции по которым я тебе выдал
1 unreal
2 snapshot
вон там внизу читай, ага?
---------- Post added at 15:20 ---------- Previous post was at 15:11 ----------
Tape traps это быстрая загрузка, что не есть автозагрузка тапов, ага?
И чо? я верю своим глазам, чужим глазам прости верить разучился.
я покурил сорцы :) в них Алекс который просто молодец пофиксил совсем уж говенный *****код, но блин, не везде же.
я вон жырненьким выделил где он пофиксил
а жырненьким наклонным там где должен был но не стал
Код:int readSNA128()
{
conf.mem_model = MM_PENTAGON; conf.ramsize = 128;
hdrSNA128 *hdr = (hdrSNA128*)snbuf;
reset(hdr->trdos? RM_DOS : RM_SOS);
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp; cpu.pc = hdr->pc;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80; cpu.im = hdr->im;
cpu.iff1 = hdr->iff1?1:0; comp.p7FFD = hdr->p7FFD;
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
memcpy(memory+PAGE*5, hdr->page5, PAGE);
memcpy(memory+PAGE*2, hdr->page2, PAGE);
memcpy(memory+PAGE*(hdr->p7FFD & 7), hdr->active_page, PAGE);
unsigned char *newpage = snbuf+0xC01F;
unsigned char mapped = 0x24 | (1 << (hdr->p7FFD & 7));
for (unsigned char i = 0; i < 8; i++)
if (!(mapped & (1 << i))) {
memcpy(memory + PAGE*i, newpage, PAGE); newpage += PAGE;
}
set_banks(); return 1;
}
int readSNA48()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
reset(RM_SOS);
hdrSNA128 *hdr = (hdrSNA128*)snbuf;
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80; cpu.im = hdr->im;
cpu.iff1 = hdr->iff1?1:0; comp.p7FFD = 0x30;
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
memcpy(memory+PAGE*5, hdr->page5, PAGE);
memcpy(memory+PAGE*2, hdr->page2, PAGE);
memcpy(memory+PAGE*0, hdr->active_page, PAGE);
cpu.pc = cpu.DirectRm(cpu.sp)+0x100*cpu.DirectRm(cpu.sp+1); cpu.sp += 2;
set_banks(); return 1;
}
int readSP()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
reset(RM_SOS);
hdrSP *hdr = (hdrSP*)snbuf;
cpu.alt.af = hdr->altaf; cpu.alt.bc = hdr->altbc;
cpu.alt.de = hdr->altde; cpu.alt.hl = hdr->althl;
cpu.af = hdr->af; cpu.bc = hdr->bc; cpu.de = hdr->de; cpu.hl = hdr->hl;
cpu.ix = hdr->ix; cpu.iy = hdr->iy; cpu.sp = hdr->sp; cpu.pc = hdr->pc;
cpu.i = hdr->i; cpu.r_low = hdr->r; cpu.r_hi = hdr->r & 0x80;
cpu.iff1 = (hdr->flags & 1);
cpu.im = 1 + ((hdr->flags >> 1) & 1);
cpu.iff2 = (hdr->flags >> 2) & 1;
comp.p7FFD = 0x30;
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
comp.pFE = hdr->pFE; comp.border_attr = comp.pFE & 7;
for (unsigned i = 0; i < hdr->len; i++)
cpu.DirectWm(hdr->start + i, snbuf[i + 0x26]);
set_banks(); return 1;
}
int readZ80()
{
//conf.mem_model = MM_PENTAGON; conf.ramsize = 128; // molodcov_alex
hdrZ80 *hdr = (hdrZ80*)snbuf;
unsigned char *ptr = snbuf + 30;
unsigned char model48k = (hdr->model < 3);
reset((model48k|(hdr->p7FFD & 0x10)) ? RM_SOS : RM_128);
if (hdr->flags == 0xFF)
hdr->flags = 1;
if (hdr->pc == 0)
{ // 2.01
ptr += 2 + hdr->len;
hdr->pc = hdr->newpc;
memset(RAM_BASE_M, 0, PAGE*8); // clear 128k - first 8 pages
while (ptr < snbuf+snapsize)
{
unsigned char *p48[] =
{
base_sos_rom, 0, 0, 0,
RAM_BASE_M+2*PAGE, RAM_BASE_M+0*PAGE, 0, 0,
RAM_BASE_M+5*PAGE, 0, 0, 0
};
unsigned char *p128[] =
{
base_sos_rom, base_dos_rom, base_128_rom, RAM_BASE_M+0*PAGE,
RAM_BASE_M+1*PAGE, RAM_BASE_M+2*PAGE, RAM_BASE_M+3*PAGE, RAM_BASE_M+4*PAGE,
RAM_BASE_M+5*PAGE, RAM_BASE_M+6*PAGE, RAM_BASE_M+7*PAGE, 0
};
unsigned len = *(unsigned short*)ptr;
if (ptr[2] > 11)
return 0;
unsigned char *dstpage = model48k ? p48[ptr[2]] : p128[ptr[2]];
if (!dstpage)
return 0;
ptr += 3;
if (len == 0xFFFF)
memcpy(dstpage, ptr, len = PAGE);
else
unpack_page(dstpage, PAGE, ptr, len);
ptr += len;
}
}
else
{
int len = snapsize - 30;
unsigned char *mem48 = ptr;
if (hdr->flags & 0x20)
unpack_page(mem48 = snbuf + 4*PAGE, 3*PAGE, ptr, len);
memcpy(memory + PAGE*5, mem48, PAGE);
memcpy(memory + PAGE*2, mem48 + PAGE, PAGE);
memcpy(memory + PAGE*0, mem48 + 2*PAGE, PAGE);
model48k = 1;
}
cpu.a = hdr->a, cpu.f = hdr->f;
cpu.bc = hdr->bc, cpu.de = hdr->de, cpu.hl = hdr->hl;
cpu.alt.bc = hdr->bc1, cpu.alt.de = hdr->de1, cpu.alt.hl = hdr->hl1;
cpu.alt.a = hdr->a1, cpu.alt.f = hdr->f1;
cpu.pc = hdr->pc, cpu.sp = hdr->sp; cpu.ix = hdr->ix, cpu.iy = hdr->iy;
cpu.i = hdr->i, cpu.r_low = hdr->r & 0x7F;
cpu.r_hi = ((hdr->flags & 1) << 7);
comp.pFE = (hdr->flags >> 1) & 7;
comp.border_attr = comp.pFE;
cpu.iff1 = hdr->iff1, cpu.iff2 = hdr->iff2; cpu.im = (hdr->im & 3);
comp.p7FFD = (model48k) ? 0x30 : hdr->p7FFD;
if(hdr->len == 55) // version 3.0 (with 1ffd)
comp.p1FFD = hdr->p1FFD;
if (model48k)
comp.pEFF7 |= EFF7_LOCKMEM; //Alone Coder
set_banks();
return 1;
}
---------- Post added at 15:25 ---------- Previous post was at 15:20 ----------
до ноября 2012 мне эта проблема не мешала и я её не видел.
И не будут, мои фиксы в другой теме.Цитата:
И да, кстати, ни в одном из фиксов унриала не фигурирует строчка:
хххххх (jerri)
Т.е. jerri не сообщил ни об одной проблеме.