TheLink + PentEvo

Bugs, features and wishlists

Postby breeze » 09 Sep 2010, 18:55

Столкнулся с интересной проблемой, вещь конечно специфичная, но однако имеет место быть…

Как известно дема от AlCo - The Link использует все прелести NeoGS, в том числе и DMA. Так вот есть некоторый проблем, если во время эффекта (который использует DMA) нажать софт ресет, то PentEvo зависает в дупель. Видимо NeoGS толи подвешивает шину, то ли сам PentEvo что-то хочет от NeoGS, но в любом случае висяк 100% :wow2:
Помогает только HardReset с полной перезагрузкой :yes:

p.s. пробовал на разных частях в деме, эффект - всегда одинаков = матрасег и висим :crazy:
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby savelij » 09 Sep 2010, 20:09

Баян однако. Это вешается не выключенный ДМА на нгсе.
savelij
 
Posts: 568
Joined: 10 Jun 2008, 17:35
Group: Registered users

Postby breeze » 10 Sep 2010, 10:46

Байан-то байян, но солющен-то где ?
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 10 Sep 2010, 12:57

Пусть алко пофиксит дему, чтобы по таймауту дма выключалось.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby breeze » 10 Sep 2010, 14:43

lvd wrote:Пусть алко пофиксит дему, чтобы по таймауту дма выключалось.


эээ… как мне кажется тут дело не в AlCo. Его деме ресет нажали и остановили как бы выполнение кода.

или же ты предлагаешь внутри NeoGS вешать какой-то watchdog, который бы следил — «опаньки, а родительский процесс сдох, рубанука я DMA от греха подальше.»

как мне кажется не самое лучшее решение, гораздо эффективнее было бы что бы сам PentEvo при ресете сбрасывал DMA у NeoGS если то вдруг было установлено.

p.s. так же реквестирую пунктег «Reset NeoGS» в HE GLUCK RESET SERVICE, причём уже давно >_<"
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 10 Sep 2010, 16:56

дма в нгсе управляется исключительно нгсом. При том включенное дма отнимает у спецтрума его ПЗУ, подсовывая своё дмачное гогно. Так что да, внутри кода нгса надо делать таймаут (ну или вочдог, кому как больше нравиццо).
Заводить ресет спецтрума на ресет нгса идеологически неверно, хотя вон ЧРВ в последней ревизии жамперов понаставил. А заводить просто сигнал ресета спецтрума в ногу нгса местов нету на распиновке альтеры.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby breeze » 10 Sep 2010, 17:16

lvd wrote:дма в нгсе управляется исключительно нгсом.


поскольку документации как бэ нет, спорить не стану. однако, меня терзают смутные сомнения:

разве нельзя выполнить в раме ZX-Spectrum (без ПЗУ) такой кодэ?

Code: Select all
DMA_CST EQU #1F
        XOR A ;TURN OFF DMA MODE
        OUT (DMA_CST),A
        ;после этого ZX можно сбрасывать


если верить коду AlCo это должно отключить DMA ? Нэ ?
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 10 Sep 2010, 18:15

Это в раме НГСа можно выполнить. В раме спецтрума выполнять уже нечего, коль усер жамкнул на ресет.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby breeze » 10 Sep 2010, 19:59

lvd wrote:В раме спецтрума выполнять уже нечего, коль усер жамкнул на ресет.


эээ… ну вообще-то, при SoftReset очищается рама только 48к, остальные банки остаются не тронутыми, ну это так к слову.
а второй вопрос это был чисто пример кода, что нужно пульнуть 0 в порт #1F :)

Давай по-шагово разберём, что происходит с момента отпускания кнопки Reset и до запуска He Gluck, может всё-таки есть возможность втиснуться на одном из шагов и сбосить DMA ? может это возможно хардварно ?

p.s. и кстати куда пропал CHRV ? :vodka:
User avatar
breeze
 
Posts: 764
Joined: 07 Feb 2009, 17:19
Location: Оттуда
Group: Registered users

Postby lvd » 11 Sep 2010, 06:12

К слову, при ресете проц начинает выполняться с адреса 0, т.е. из ромы. А там рома выключена ДМОй нгса (дма оно для памяти НГСа, для спецтрума это подстановка байтов на чтение вместо ромы). И исполняется полная хрень.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1786
Joined: 07 Apr 2007, 22:28
Group: Registered users

Next

Return to Багофичи и юзеропросьбы

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron