Chicks & Bricks (глючный релиз slider'а, обсуждение и fix)

Postby lvd » 28 Sep 2012, 05:05

нолька wrote:оффтопну чуток: еще один типичный баг использования дехруста с открытыми прерываниями im1 или im2, но без сохранения стека. Глючит оно не постоянно, а достаточно редко, и такой баг можно искать долго, если не знать эту фишку дехруста.

И в чём заключается баг? дехруст только pop hl и делает, на засёр стека ему наплевать, не?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby нолька » 28 Sep 2012, 05:39

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

Postby lvd » 28 Sep 2012, 06:07

Не надо юзать говнопакеры на спецтруме (100 лет уж как есть хрустопакер на пц) и говнодепакеры, которые сами чего-то куда-то кидают. Вырезать все кидания из депакера -- дело 5 минут.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby ShadowMaker » 28 Sep 2012, 06:51

Да есть уже вырезанные без перекидывальщиков, если кому надо, могу положить. Есть и депакер дехруста, который можно использовать с прерываниями, там вроде даже в комплекте с ним идёт сурс. Также бывает, что глюки из-за того, что пихают в буфер принтера депакер и грузят по 3D13, там IM1, в итоге депакер запарывается по приходу прерывания.
ShadowMaker
 
Posts: 78
Joined: 27 Sep 2012, 17:47
Group: Registered users

Postby нолька » 28 Sep 2012, 07:55

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

Postby ShadowMaker » 28 Sep 2012, 09:45

Ну там ведь тоже как повезет. Может придти и ничего не поменять в буфере. Тоже раз из пяти заглючит.
ShadowMaker
 
Posts: 78
Joined: 27 Sep 2012, 17:47
Group: Registered users

Postby g00db0y » 28 Sep 2012, 13:08

ShadowMaker wrote:Также бывает, что глюки из-за того, что пихают в буфер принтера депакер и грузят по 3D13, там IM1, в итоге депакер запарывается по приходу прерывания.

res 4,(iy+1) и обработчик прерываний в 128ом бейсике в буфере принтера не хозяйничает.

; FLAGS $5C3B 1 IY+$01 Various flags to control the BASIC system:
; Bit 0: 1=Suppress leading space.
; Bit 1: 1=Using printer, 0=Using screen.
; Bit 2: 1=Print in L-Mode, 0=Print in K-Mode.
; Bit 3: 1=L-Mode, 0=K-Mode.
; Bit 4: 1=128K Mode, 0=48K Mode. [Always 0 on 48K Spectrum]
; Bit 5: 1=New key press code available in LAST_K.
; Bit 6: 1=Numeric variable, 0=String variable.
; Bit 7: 1=Line execution, 0=Syntax checking.
g00db0y
 
Posts: 8
Joined: 26 Sep 2012, 08:47
Group: Registered users

Postby ShadowMaker » 28 Sep 2012, 14:32

Да я-то знаю :) Про типичные косяки говорю, которые возникают у людей.
ShadowMaker
 
Posts: 78
Joined: 27 Sep 2012, 17:47
Group: Registered users

Postby deathsoft » 28 Sep 2012, 15:47

g00db0y wrote:g00db0y

А у тебя же тут старый акаунт есть (акаунт goodboy), если хочешь могу тебе пароль обрезетить и мылом скинуть.
Last edited by deathsoft on 28 Sep 2012, 15:53, edited 2 times in total.
User avatar
deathsoft
 
Posts: 4666
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 28 Sep 2012, 15:50

Что мешает перед распаковкой сделать DI, а непосредственно перед вызовом точки входа распакованного кода сделать EI? И тогда 10 раз плевать на обработчик прерывания.
User avatar
deathsoft
 
Posts: 4666
Joined: 07 Apr 2007, 00:58
Group: Registered users

PreviousNext

Return to Games

Who is online

Users browsing this forum: No registered users and 2 guests