Может, мы обидели кого-то зря,
Сбросив пару лишних мегатонн,
И горит зелёным пламенем земля,
Там, где был когда-то Пентагон!..
Profi-576 v3.2/AY-3-8912A GI/FDD-5.25'
полгода уже прошло.
никто не знает что случилось с Кладовым, эмулятор будет дальше писаться ?
Ведь наверняка же есть здесь люди из Новосибирска, у которых есть телефон Владимира. Позвоните ему, узнайте что с ним... Не мог человек просто так уйти с форума...
С уважением, Станислав.
Я обдумываю вариант с полностью модульным эмулятором, один модуль - одна DLL. Как обдумаю, так и начну переносить код, сначала из EmuZ GL, потом, что останется, из EmuZ Win. Ядро Z80 думаю переписать на C, просто из-за макросов. Но быстро это не будет, на работе сейчас творится нечто, нас покупает F1. Ходят упорные слухи, что добром это не кончится (з/п в конверте, повальные увольнения, в общем, все прелести капитализма, которых я был счастливо лишен последние 10 лет). Может, еще и работу менять придется.
Удачи в эмуляторостроении! Надеюсь, получится первоклассный эмуль, который всем другим нос утрёт! И вообще радостно, что автор наконец-таки объявился!!!
Подскажите как убрать 'выход' из эмулятора по нажатию Esc
Последний раз редактировалось GM BIT; 28.10.2009 в 06:06.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
При попытке выгрузить из дебагера кусок памяти с 32768 по 34016 (всего 1248 байт) выгружает 6319
Корректно только в nex
Последний раз редактировалось GM BIT; 24.10.2009 в 17:00.
Помогите разобраться во встроенном ассемблере EmuZWin
Приведите пример как пользоваться ORG (по прилагаемой доке ничего не понял) или объясните что я делаю не так?
При попытке ассемблирования
ORG RAM 16, #c000
file ‘tab_atr.mem’
Выкидывает ошибку 'While compiling to memory bank 16K, address must not exceed 16K’
Директива ассемблера:
ORG #
ORG RAM #, #
ORG ROM #, #
Так описывается в help’а по ассемблеру:
ORG [{ RAMn | ROMn },] #target_address [, #dest_address ]
Задает целевой адрес ассемблирования (т.е. адрес текущей инструкции во время
исполнения) и адрес размещения инструкций при ассемблировании (он может
отличаться от адреса инструкции, если команды размещаются первоначально не в
тех адресах, по которым будут исполняться, или, например, не в том банке
памяти, который сейчас виден по адресу C000).
RAMn или ROMn могут использоваться для указания банка ОЗУ ( RAM n (n=0..7) )
или банка ПЗУ (ROM n (n=0..1) ). n может быть выражением.
Все имена, используемые в выражениях в данной директиве, должны быть известны
уже на первом проходе компиляции, ссылки вперед здесь недопустимы - но только
если не выключена опция Strong Address Control в опциях ассемблера).
Судя по 'While compiling to memory bank 16K, address must not exceed 16K’ надо ORG RAM 16,#0000
Все любят гипножабу
Не компилит, куда надо (в #C000 ничего не нашел). Но, ошибку уже не выдает
Это исходник директивы org как я понял:
procedure TZXCompiler.DirectiveORG;
begin
if TokenStartsFrom( 'RAM' ) then
begin
OrgBank := Expression;
if (OrgBank < 0) or (OrgBank > Memory.MaxRAMPage) then
Error( 'Bad RAM bank ' + Int2Str( OrgBank ) );
if TokenEq( ',' ) then;
NeedAllValues := TRUE;
Addr := Expression;
NeedAllValues := FALSE;
if Org and $C000 <> 0 then
begin
Error( 'While compiling to memory bank 16K, address must not exceed 16K' );
Addr := Addr and $3FFF;
end;
Org := Addr;
if TokenEq( ',' ) then Addr := Expression;
end
else if TokenStartsFrom( 'ROM' ) then
begin
OrgBank := -Expression -1;
if (OrgBank >= 0) or (OrgBank < -Memory.MaxRAMPage-1) then
Error( 'Bad ROM bank ' + Int2Str( -OrgBank+1 ) );
if TokenEq( ',' ) then;
NeedAllValues := TRUE;
Addr := Expression;
NeedAllValues := FALSE;
if Org and $C000 <> 0 then
begin
Error( 'While compiling to memory bank 16K, address must not exceed 16K' );
Addr := Addr and $3FFF;
end;
Org := Addr;
if TokenEq( ',' ) then Addr := Expression;
end
else
begin
OrgBank := OrgCur64K;
Addr := Expression;
Org := Addr;
if TokenEq( ',' ) then Addr := Expression;
end;
AddLabel( '', 0, Org_Flag or Addr );
end;
Последний раз редактировалось GM BIT; 25.07.2010 в 17:35.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)