Page 1 of 2

Ошибка в эви

PostPosted: 12 May 2013, 09:27
by 3ASOFT
Делаем демы, а они все время на реале евы сбрасываются в 48 режиме. Я нанял программистов из майкрософт, они проверили и выявили ошибку. Авторы эвы поправьте. В деме пока что обходим этот момент кодингом, но надо бы поправить чтобы было более пентагонистей. Все таки золотой стандарт нада блюсти.


В эво ошибка, в момент перехода в 48-ой режим защёлкивается страница памяти номер четыре, а должна номер ноль. Я сделал програмку которая сбрасывает эту проблему в нужно состояние. Вот пример:

;---===---===---===---===---===---
LD BC,0EFF7H
LD A,10H
OUT (C),A
LD BC,0FF77H
LD A,03H
OUT (C),A
LD BC,000BFH
LD A,00H
OUT (C),A
LD BC,07FFDH
LD A,10H
OUT (C),A
;---===---===---===---===---===---
Этот кусок нужно вставить в любое место до загрузки всех событий. На настоящем ATM можно не проверять, там и старый вариант будет работать. На эмуляторах будет работать всегда, но это от того, что эмулятор АТМ просто работает не верно.

Re: Ошибка в эви

PostPosted: 12 May 2013, 10:44
by DimkaM
3ASOFT wrote:LD A,03H
OUT (C),A
LD BC,000BFH

зачем запись в ПЗУ?!
ld a,1
out(0xbf),a

Re: Ошибка в эви

PostPosted: 12 May 2013, 10:45
by lvd
Ошибка в ААА, он же кодить неумеет. А раз так, значит он пишет со слов кого-то. Пусть этот кто-то придёт сюда и объяснит сам, что ему не понравилось. Или - игнор, пушо ничо непонятно.

ps: код == говнокод. Сначала ефф7, потом фф77, потом отключаем теневые порты... ОМГ...

Re: Ошибка в эви

PostPosted: 12 May 2013, 12:42
by DimkaM
DimkaM wrote:зачем запись в ПЗУ?!

а бля, я чёта с бодуна код просмотрел не в туда
сорри

3ASOFT wrote:в момент перехода в 48-ой режим защёлкивается страница памяти номер четыре, а должна номер ноль.
а разве не та защёлкивается которая в данный момент подключена?!

и ещё непонятно
#xx77 WO shadow
#EFF7 WO noshad

в общей сложности надо так:
;---===---===---===---===---===---
xor a
out (0xbf),a

LD BC,0EFF7H
LD A,10H
OUT (C),A
ld a,1
out (0xbf),a

LD BC,0FF77H
LD A,03H
OUT (C),A
LD BC,000BFH
LD A,00H
OUT (C),A
LD BC,07FFDH
LD A,10H
OUT (C),A
;---===---===---===---===---===---

и зачем такие сложности с переключением страниц?! Вот так может:
Code: Select all
ld a,1
out (0xbf),a
ld a,0x7f
ld bc,0xfff7
out (c),a
xor a
out (0xbf),a

Re: Ошибка в эви

PostPosted: 12 May 2013, 12:59
by нолька
какие конкретно демы не работают? сначала всё проверяется на предмет багов в софте и потом уже железе

Re: Ошибка в эви

PostPosted: 12 May 2013, 13:20
by 3ASOFT
Дему выложу чуть позже. В ней будет код, который работает на всех реалах 48 к, кроме пентевы 48 к. Как раз там есть эта ошибка. Не обращайте внимания что ААА пишет, мне об этой ошибке говорят профессиональные программисты. Поэтому вы за зря не ругайтесь, а лучше проверьте.

Re: Ошибка в эви

PostPosted: 12 May 2013, 13:53
by lvd
New wave работает в 48к ОК.
нолька wrote:какие конкретно демы не работают?

Подозреваю, что осцосс или от того же горе-кодера :-D

Re: Ошибка в эви

PostPosted: 12 May 2013, 13:54
by нолька
3ASOFT wrote:В эво ошибка, в момент перехода в 48-ой режим защёлкивается страница памяти номер четыре

перехода откуда и каким образом?
в общем случае номер страницы = 4 никак не влияет (т.к. он не 0, 2, 5)

Re: Ошибка в эви

PostPosted: 12 May 2013, 14:12
by Sergey78
lvd wrote:Подозреваю, что осцосс

С примонтированного TRD не работает. Если скопировать на рамдиск, то работает.

upd. Это глюк в Эводосе был. В 0.53 все работает.

Re: Ошибка в эви

PostPosted: 12 May 2013, 15:35
by CHRV
lvd wrote:Подозреваю, что осцосс или от того же горе-кодера :-D

Вадир, тебе пора уже сертификацию проводить ...

Sergey78 wrote:upd. Это глюк в Эводосе был. В 0.53 все работает.

Вообще красавцы, такое впечатления что о багах токо я Савелию пишу.
Апгрейдимся, и все баги вываливаем с примерами Савелию, а не отсиживаемся на всяких ..форумах.