Ошибки в us0.37.6

Bugs (reports, fixes, etc.)

Postby robat_e » 14 Sep 2011, 13:28

В новой версии ставлю в инишнике
Code: Select all
ZXKeyMap=acedit

и эмулятор падает с таким сообщением:
Code: Select all
exception C0000005 at eip=004C5A46
eax=00000000 ebx=00000000 ecx=00002E25 edx=002A0000
esi=00000001 edi=00000003 ebp=0012F660 esp=00128650
robat_e
 
Posts: 1269
Joined: 08 Apr 2007, 07:34
Group: Registered users

Postby deathsoft » 14 Sep 2011, 17:28

Да, это баг, щас испралю. Но ты задал неверное значение параметра:
ZXKeyMap=default; default/bk08/quorum

а тебе нужен был:
; you can define own layout, naming section in this INI file [ZX.KEYS.myname]
; create layouts for xas/storm/zxasm/alasm/zxword/sts/etc yourself, i'm bored
KeybLayout= default
User avatar
deathsoft
 
Posts: 4635
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby moroz1999 » 24 Sep 2011, 18:34

Переползаю со своим багом сюда.
http://vtrdos.ru/sbor/CHORDOUT.ZIP - для успокоения совести перепроверил в новой версии, не пашет.

Alexandr Makeev по поводу этой проблемы пишет так:
в первом ZXMAK v0.285 работает нормально, но там движок ВГ93 навороченый. В ZXMAK.NET и ZXMAK2 движок ВГ93 на 70% от unreal (а машина состояний на все 90%), поэтому тоже не работает

проблема заключается в некорректной машине состояний для комманд позиционирования, а также наличию лишних задержек, которые явно не нужны. При отключении fast (wd93_delay), все эти задержки убираются и поэтому все начианает работать.

Суть в том что время выполнения команды SEEK занимает очень много времени. В то время как CHORDOUT уже через 656 тактов начинает выполнять следующую команду, т.к. дорожки назначения и в регистре track совпадают.

Но есть также проблема с машиной состояний. Даже если вставить проверку и уменьшить задержку до минимума, при включенном wd93_delay нужно несколько раз обратиться к ВГ93 чтобы позиционирование завершилось. А CHORDOUT не делает ни одного обращения между отправкой команды SEEK и следующими действиями.

Эту проблему я устранил в ZXMAK205, но машину состояния конечно нужно переделывать. В unreal она даже не соответствует документации на WD179x.


Для меня это - китайская грамота, но надеюсь, что эта инфа как-нибудь поможет - хочется максимальной совместимости с реалом.
User avatar
moroz1999
 
Posts: 368
Joined: 02 Aug 2009, 12:26
Group: Registered users

Postby deathsoft » 24 Sep 2011, 18:50

moroz1999 wrote:для успокоения совести перепроверил в новой версии, не пашет.

Да я в курсе, в соседней ветки специально для этого проводился тест реалов и эмулей. Проблему выяснили, в следующей версии все будет пофикшено. Там дело не в seek а совсем в другом, но баг с seek тоже исправлен уже. Про zxmak я тоже читал, делать подгонку лишь бы заработал chordout не вижу смысла (а в zxmak сделано именно так), в следующей версии унриала будет пофикшено по нормальному (чтобы поведение соответствовало поведению реально ВГшки).
User avatar
deathsoft
 
Posts: 4635
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby нолька » 25 Sep 2011, 04:38

deathsoft, он все верно написал. Глюк как раз в том, что делается seek на тот же самый трек, где находится голова, но поскольку после нее идет команда Шаг, то анрил считает что вгшка занята выполнением предыдущей команды и Шаг не выполняется
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Postby moroz1999 » 25 Sep 2011, 15:40

Шикарно, спасибо!
User avatar
moroz1999
 
Posts: 368
Joined: 02 Aug 2009, 12:26
Group: Registered users

Postby DimkaM » 28 Sep 2011, 18:13

Конфиг АТМ3. Включаю текстмоод, включаю IM1(в нулевой банке сидит ОЗУ стр.0х3f).
делаю ei halt и получаю висяк "CPU HALTED", захожу в монитор dihalta не наблюдаю.
Брейкпоинт на следующей команде после халта не срабатывает, прога висит на халте при включенных прерываниях.
Унрил 0.37.6.
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1003
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby deathsoft » 28 Sep 2011, 19:41

Выложи сюда trd с программой, ну и посмотри флажки i: там поди 00
User avatar
deathsoft
 
Posts: 4635
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby DimkaM » 29 Sep 2011, 04:49

deathsoft wrote:Выложи сюда trd с программой, ну и посмотри флажки i: там поди 00

Блин trd чёта не умею делать, вернее Бейсик загрузчики не умею :confused: . Хобету могу только, прикладываю его и бинарь(загружается и пускается с #8000).
Почини плиз, очень надо. Или скажи где мой косяк.

Оставляю код во второй банке,оставляю ПЗУ в нулевой банке, всё равно цпу-халтед. Может я неправильно текстмод подключаю?
И скриншот в момент "CPU HALTED", тоже самое без текстмода работает ровно.
Image
Code: Select all
   DEVICE ZXSPECTRUM128
   ORG #0
START
INI
   DI
   JP INI_CONT+#8000

   org #38
RST38 ;тут только счётчик прерываний
   PUSH HL
   ld hl,COUNTER
   INC (HL)
   JR NZ,.L1
   INC HL
   INC (HL)
   JR NZ,.L1
   INC HL
   INC (HL)
   JR NZ,.L1
   INC HL
   INC (HL)
.L1   POP HL
   ei
   ret

INI_CONT
   ld a,1 ;открываю порты
   out   (#BF),a
   LD BC,#3FF7 ;подключаю ОЗУ в нулевую банку
   LD A,#40
   OUT (C),A
   LD hl,#8000 ;копирую себя в нулевую банку
   ld de,#0000
   ld bc,#4000
   LDIR
   LD SP,#4000
   ld bc,#ff77 ;включаю текстмод
   ld a,6
   out (c),a
   xor a ;закрываю порты
   out   (#BF),a   
   jp .l1
.l1   ei
   halt ;а тут херня какая то "CPU HALTED", прерывания не срабатывают.
   di
   ld hl,COUNTER.HI+1 ;а это просто чтобы что то было
   ld a,(hl)
   or a
   jr .l1

COUNTER
.LO   WORD 0
.HI   WORD 0

ENDPROG
Attachments
Безымянный.png
(37.43 KB) Not downloaded yet
testtxt.zip
(607 Bytes) Downloaded 239 times
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1003
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby нолька » 29 Sep 2011, 06:15

в прерываниях регистр AF сохранить забыл и зачем по адресу 38 RST 38?
<alone> предлагаю тслабсу дать транк, но с условием чтобы он впилил туда спрайтотайлы, но не трогал атм
<LordVader> alone: яготов всосать срайты от тслабса )
<LordVader> атм режимы это пиздец
User avatar
нолька
рОвный
 
Posts: 1200
Joined: 08 Apr 2007, 20:12
Group: Registered users

Next

Return to Ошибки

Who is online

Users browsing this forum: No registered users and 1 guest