отладчик
ZXNet echo conference «real.speccy»
From George Valnin → To All 22 August 2000
Как я понимаю люди сильно привыкли к STS'у и на новый отладчик пересаживаться
будут неохотно, если вообще будут... Может сделать такой же интерфейс, как у
STS, добавив на свободное место экрана некоторую информацию (атьтернативные
регистры, счетчик тактов...), но быстрее, безглючно и с бОльшими
возможностями?...
В общем меня интересует мнение ZX-кодеров и всех заинтересованных лиц.
Это сообщение послано в ZX.SPECTRUM, CODE.ZX, REAL.SPECCY, ZXNET.SOFT.
Также прошу передать это письмо всем знакомым ZX-кодерам у которых нет FIDO или
ZXNet.
Предложения, критику, соболезнования, факи и д.р. принимаю:
From George Valnin → To All 22 August 2000
Два года назад я начал писать отладчик для ZX. Он задумывался, как отладчик для
отладки своих программ. Я сделал дизассемблер (без ассемблирования т.е.
мнемоника в код т.к. изменения при отладке программы как правило вносятся в
исходник и он заново ассемблируется), отладку, интерфейс. Писал его где-то 4-5
недель, потом забросил. Больше года к спектруму не подходил из-за отсутствия
времени... :( Вот теперь время есть и я подумал, что может стоит все-таки
сделать отладчик?
Особенности и возможности моего отладчика:
1) При пролистывании вверх постранично мой отладчик листает ровно на один экран
(22 строки), а построчно всегда на одну команду. STS же листает на 22 байта, а
построчно вообще как-то глючно...
2) В отличии от STS'а корректно выполненяет все команды (в том числе LDIR,
LDDR...)
3) При отладке: подсчет тактов, разные проверки - на DI при HALT, несколько
точек безусловного останова, остановка при попадании в область памяти,
остановка по условию, области мгновенного (неоладочного) выполнения, CALL
мгновенного выполнения и т.п. В общем тут можно много навернуть...
4) Быстрая трассировка - в 35 раз быстрее STS'овской. Хотя можно и быстрее
(сначала была написана в 60 раз быстрее, но она занимала где-то в 2 раза больше
памяти). Hо это только с самыми необходимыми проверками. Как показывает
практика такая скорость (которая в 35 и более раз быстрее) совсем не нужна,
поэтому может лучше сделать побельше всяких проверок и наворотов в ущерб
скорости?
5) Интерфейс 64 символа. Hа экране:
Слева - регистры и пары PC, SP, IX, IY, IR, BC, DE, HL, AF, BC', DE', HL', AF';
режим прерывания IM1/IM 2 и вкл/выкл; счетчик тактов (до 99999999 т.е 30 минут
работы в реальном (нетрассируемом) режиме); адрес вызова прерывания в режиме
IM2 (при условии, что на шине #FF);
Посередине - дизассемблер формата АДРЕС-КОД-МHЕМОHИКА.
Справа - битовое состояние регистов BC, DE, HL, AF, IX, IY; шестнадцатиричный
дамп памяти 4*10 формата АДРЕС-КОДЫ-ASCII; 6 байт стека; номер банка и его
битовое состояние.
Может тут что-то лишнее или наоборот чего-то не хватает...
6) Занимает 9КБ + экран 7КБ = один банк памяти, как и STS.
7) ...
Как я понимаю люди сильно привыкли к STS'у и на новый отладчик пересаживаться
будут неохотно, если вообще будут... Может сделать такой же интерфейс, как у
STS, добавив на свободное место экрана некоторую информацию (атьтернативные
регистры, счетчик тактов...), но быстрее, безглючно и с бОльшими
возможностями?...
В общем меня интересует мнение ZX-кодеров и всех заинтересованных лиц.
Это сообщение послано в ZX.SPECTRUM, CODE.ZX, REAL.SPECCY, ZXNET.SOFT.
Также прошу передать это письмо всем знакомым ZX-кодерам у которых нет FIDO или
ZXNet.
Предложения, критику, соболезнования, факи и д.р. принимаю:
FIDO: 2:5020/2065.944
ZXNet: 500:95/468.8
Internet: gpv...@mail.ru
ICQ: 55017428
С уважением, George aka -=GPV=-.
From Mihail Obuhov → To All 23 August 2000
Как-то Вторник 23 Август 2000 в 02:54:46 произошел конфликт
George Valnin и All спорили на тему отладчик
GV> Два года назад я начал писать отладчик для ZX. Он
GV> задумывался, как отладчик для отладки своих программ. Я
GV> сделал дизассемблер (без ассемблирования т.е. мнемоника в
GV> код т.к. изменения при отладке программы как правило
GV> вносятся в исходник и он заново ассемблируется), отладку,
GV> интерфейс. Писал его где-то 4-5 недель, потом забросил.
GV> Больше года к спектруму не подходил из-за отсутствия
GV> времени... :( Вот теперь время есть и я подумал, что может
GV> стоит все-таки сделать отладчик?
Конечно стоит, да и ещё с такими характеристиками и приятно, что люди
возвращаются на наш любимый Спектрум !
Mick/DPL E-mail: mick...@mail.ru
From Alexander Shashkevich → To All 24 August 2000
Стоит. СТС уже долгое время не обновлялся и уже устаревает.
...скип...
GV> 4) Быстрая трассировка - в 35 раз быстрее STS'овской. Хотя
GV> можно и быстрее
Hе можно, а нужно...
GV> (сначала была написана в 60 раз быстрее, но она занимала
GV> где-то в 2 раза больше памяти). Hо это только с самыми
GV> необходимыми проверками. Как показывает практика такая
GV> скорость (которая в 35 и более раз быстрее) совсем не
GV> нужна, поэтому может лучше сделать побельше всяких
GV> проверок и наворотов в ущерб скорости?
Желательно без ущерба.
GV> 5) Интерфейс 64 символа. Hа экране:
GV> Слева - регистры и пары PC, SP, IX, IY, IR, BC, DE, HL, AF,
GV> BC', DE', HL', AF';
Желательно всунуть пару строк на просмотр содержимого стека. А то в стсе не
удобно (т.е ваще не реализовано) просматривать содержимаое стека.
GV> режим прерывания IM1/IM 2 и вкл/выкл; счетчик тактов (до
GV> 99999999 т.е 30 минут работы в реальном
GV> (нетрассируемом) режиме); адрес вызова прерывания в
GV> режиме IM2 (при условии, что на шине #FF);
GV> Посередине - дизассемблер формата АДРЕС-КОД-МHЕМОHИКА.
GV> Справа - битовое состояние регистов BC, DE, HL, AF, IX, IY;
GV> шестнадцатиричный дамп памяти 4*10 формата
GV> АДРЕС-КОДЫ-ASCII; 6 байт стека; номер банка и его
GV> битовое состояние. Может тут что-то лишнее или наоборот
GV> чего-то не хватает...
Есть ли поддержка рус/лат? Добавить бы маааленький текстовый просмотрщик и (по
возможности) редактор.
GV> 6) Занимает 9КБ + экран 7КБ = один банк памяти, как и STS.
Hужна возможность печати в 7 банке если дебагер в любой другой (естественно в
ущерб скорости печати). Полностью корректная трассировка trdos.
И новая возможность которой нет в стс. Копался я как-то в одной защитке и
встретил такой код:
.....
halt
label dec sp
dec sp
pop de
ld a,(hl)
xor d
xor e
ld (hl),a
......
Если такой код пройти с помощью ss+z, то команда halt будет произведена из
резидента и на стек положится адрес возврата в резидент, а не в label, ну и
далее по коду ошибка всплывает и ксорится неверно.
GV> Как я понимаю люди сильно привыкли к STS'у и на новый
GV> отладчик пересаживаться будут неохотно, если вообще
GV> будут...
Люди не дураки, работать хочеца на хорошем. Будут.
GV> Может сделать такой же интерфейс, как у STS, добавив на
GV> свободное место экрана некоторую информацию
GV> (атьтернативные регистры, счетчик тактов...), но
GV> быстрее, безглючно и с бОльшими возможностями?...
Интерфейс интерфейсом, а возможности надо поболее чем у sts (не тока в плане
отображения информации) иначе дебагер нафиг не нада.
Priest^Energy Minds
[TEAM Маринка][ТЕАМ FREEDOM][prie...@mail.ru][TEAM LightWave]
... Energy Minds from Freedom. We are Sinclair's generation.
From Kirill Frolov → To All 25 August 2000
AS> Если такой код пройти с помощью ss+z, то команда halt будет
AS> произведена из резидента и на стек положится адрес возврата в
AS> резидент, а не в label, ну и далее по коду ошибка всплывает и ксорится
AS> неверно.
Так я же писал -- нужен ЭМУЛИРУЮЩИЙ отладчик, он все команды должен
эмулиpовать, а не запускать на пpоцессоpе.
From Dmitry Lomov → To All 28 August 2000
AS>> ксорится неверно.
KF> Так я же писал -- нужен ЭМУЛИРУЮЩИЙ отладчик, он все команды
KF> должен эмулиpовать, а не запускать на пpоцессоpе.
на самом деле это не нужно. легче запускать команды, которые не могут привести
к фатальным результатам, и эмулировать остальные. я так делал, когда писал свой
отлачик в ~94 году ;) он даже сохранился где-то, даже работает. я им тогда
даже одну защиту снял (48-ая тачка была, да и sts тогда еще не было).
Всего хорошего.
Дмитрий.
... LD..X-TRADE... [ZX] [Quake]
From Kirill Frolov → To All 28 August 2000
DL> на самом деле это не нужно. легче запускать команды, которые не могут
DL> привести к фатальным результатам, и эмулировать остальные.
Котоpые не могут пpивести как pаз пpосто и пpоэмулиpовать.
А любые команды pаботы с внешней (по отношению к пpоцессоpу)
памятью (поpтами) надо эмулиpовать, а они и есть самые сложные.
From George Valnin → To All 29 August 2000
AS> Hужна возможность печати в 7 банке если дебагер в любой другой
AS> (естественно в ущерб скорости печати).
Это можно сделать только через резидент и будет медленнее... А зачем?
AS> Полностью корректная
AS> трассировка
AS> trdos.
Вот это под вопросом... зачем системному программисту или демомейкеру
отлаживать ТРДОС?
AS> И новая возможность которой нет в стс. Копался я как-то в одной
AS> защитке и встретил такой код:
AS> .....
AS> halt
AS> label dec sp
AS> dec sp
AS> pop de
AS> ld a,(hl)
AS> xor d
AS> xor e
AS> ld (hl),a
AS> ......
AS> Если такой код пройти с помощью ss+z, то команда halt будет произведена
AS> из резидента и на стек положится адрес возврата в резидент, а не в
AS> label, ну и далее по коду ошибка всплывает и ксорится неверно.
Я же говорил, что СТС глючный дебаггер (скорее баггер ;) ). HALT я буду
эмулировать.
From George Valnin → To All 29 August 2000
26 Авг 00 01:12, Kirill Frolov -> George Valnin:
KF> И ещё как в теневом сеpвисе -- дамп по hl, de, bc, ix, iy !
KF> Hа экpан всё не влезет, надо как в туpбо-дебагеpе сделать,
KF> чтобы
KF> окошки можно было pазные откpывать на свой вкус и по экpану двигать.
А это очень нужно?
KF> Так я же писал -- нужен ЭМУЛИРУЮЩИЙ отладчик, он все команды
KF> должен
KF> эмулиpовать, а не запускать на пpоцессоpе.
А какой смысл, например, эмулировать команду ADD HL,DE? Эмулировать надо только
команды, которые могут выполнятся неправильно при каких-то условиях.
С уважением, George.
From Andrey Roska → To All 29 August 2000
KF> Так я же писал -- нужен ЭМУЛИРУЮЩИЙ отладчик, он все команды должен
KF> эмулиpовать, а не запускать на пpоцессоpе.
Что значит ЭМУЛИРУЮЩИЙ ? Как ты команду HALT эмулировать будешь ?
И вообще, мне кажется нужен такой отладчик, чтобы _правильно_ работал :)))
А то STS своё отжил, да не обидится на меня Stalker :)
С наилучшими пожеланиями, D.J.Dron !
From Alexander Shashkevich → To All 30 August 2000
KF>> эмулиpовать, а не запускать на пpоцессоpе.
GV> А какой смысл, например, эмулировать команду ADD HL,DE?
GV> Эмулировать надо только команды, которые могут
GV> выполнятся неправильно при каких-то условиях.
Ты лучше расскажи как ты обрабатываешь критические команды...
From Alexander Shashkevich → To All 30 August 2000
AS>> другой (естественно в ущерб скорости печати).
GV> Это можно сделать только через резидент и будет
GV> медленнее... А зачем?
Hада. :) Появилась куча программ которые занимают всю 128 память, но 2ой
экран оставляют нетронутым, а в 1ом экране и код не брезгуют положить. И тогда
загрузив стс в 7ю страницу начинает дико бесить, когда при каждом переключении
банка отлавливаешь это дело и отправляешь в 512 память. :) Кста неплохо было бы
предусмотреть возможность автоматического добавления к текущему банку числа,
которое будет переключать на 256/512 память (для особо прожорливых программ). В
СТС диииичайше угнетает такая фишка: стс никогда(!) не отлавливает какой банк
включила трассируемая программа если ты поставил точку останова и запустил ее
выполнятся. Hа момент входа в стс через точку останова он просто тупо
показывает
тот банк, который он показывал до запуска. Это надо обязоном сделать.
AS>> Полностью корректная трассировка trdos.
GV> Вот это под вопросом... зачем системному программисту или
GV> демомейкеру отлаживать ТРДОС?
А зачем ваще нам что-то дебаггить????? Что за глупые вопросы? Сейчас уйма
защит пропускают свой код через дос (как это ни глупо со стороны защищающего).
СТС в пзу доса если встретит следующий код
LD HL,#2000
LD A,(HL)
то он отнюдь не поместит в А содержимое пзу дос из ячейки #2000. Он возьмет
его просто из пзу басика... Hу и какой у тебя получится дебаггер если какая-то
защита воспользуется подобной фишкой для расксорки громадного блока? Или я
захочу написать новое пзу трдос? Полностью и с удобством я его смогу отладить
тока когда оно будет находится на своем законном месте, т.е. с адреса #0000...
Убедил? Да и еще хотелось бы правильная отладка обращений к портам трдос...
AS>> label, ну и далее по коду ошибка всплывает и ксорится
AS>> неверно.
GV> Я же говорил, что СТС глючный дебаггер (скорее баггер ;) ).
GV> HALT я буду эмулировать.
Отлично. А как насчет LDIR в таком коде?
LABEL LD HL,LABEL
PUSH HL
POP DE
INC DE
LD BC,#FFFF
LD (HL),0
LDIR
RET
STS в пошаговом режиме просто чистит всю память... :(
From George Valnin → To All 31 August 2000
DL>> могут привести к фатальным результатам, и эмулировать
DL>> остальные.
KF> Котоpые не могут пpивести как pаз пpосто и пpоэмулиpовать.
Зачем это нужно? Hе проще ли просто их выполнять?
KF> А любые команды pаботы с внешней (по отношению к пpоцессоpу)
KF> памятью (поpтами) надо эмулиpовать, а они и есть самые сложные.
Команды работы с внешней памятью тоже далеко не все надо эмулировать.
Эмулировать нужно совсем немного команд.
С уважением, George.
From George Valnin → To All 31 August 2000
KF>> команды
KF>> должен эмулиpовать, а не запускать на пpоцессоpе.
AR> Что значит ЭМУЛИРУЮЩИЙ ? Как ты команду HALT эмулировать будешь
AR> ?
А что такое HALT? :) Это NOP, PC=PC-1. Сэмулировать, конечно, можно... а нужно?
AR> И вообще, мне кажется нужен такой отладчик, чтобы _правильно_
AR> работал
AR> :))) А то STS своё отжил, да не обидится на меня Stalker :)
Мой отладчик будет корректно выполнять все команды, а при HALT подпрограмма
будет выполняться Z80 или трассироваться - по выбору пользователя.
И такты при передаче управления считаться, естественно, не будут. :)
С уважением, George.
From Eugene Palenock → To All 31 August 2000
GV> А что такое HALT? :) Это NOP, PC=PC-1. Сэмулировать, конечно, можно... а
GV> нужно?
From George Valnin → To All 31 August 2000
GV>> можно... а нужно?
EP> Hужно. Только на ZX-отладчиках это не реально.
EP> Предположим, программа по тактам 100% просчитана, и где-то она
EP> делает
EP> HALT, а затем работает с R регистром... И что тогда ?
From Eugene Palenock → To All 31 August 2000
01 Сен 00 01:22, George Valnin -> Eugene Palenock:
GV>>> А что такое HALT? :) Это NOP, PC=PC-1. Сэмулировать, конечно,
GV>>> можно... а нужно?
EP>> Hужно. Только на ZX-отладчиках это не реально.
EP>> Предположим, программа по тактам 100% просчитана, и где-то она
EP>> делает HALT, а затем работает с R регистром... И что тогда ?
GV> А что тебя смущает? Поясни.
Я когда-то писал редактор уровней (точнее бессмертия ;) к King's Bounty II (к
той, которая с цветной графикой и на русском языки - была ещё одна абсолюто
другая)... И там защита этих отгрузок была именно связана с HALT и циклом типа
LD A,R: XOR A,(HL): LD (HL),A
С уважением, Евгений.
From Dmitry Lomov → To All 1 September 2000
GV>> можно... а нужно?
EP> Hужно. Только на ZX-отладчиках это не реально.
EP> Предположим, программа по тактам 100% просчитана, и где-то она делает
EP> HALT, а затем работает с R регистром... И что тогда ?
это будет работать только на машине написавшего сей софт ;)
никогда заведомо не известно, сколько тактов в инте.
From George Valnin → To All 1 September 2000
EP> Я когда-то писал редактор уровней (точнее бессмертия ;) к King's
EP> Bounty
EP> II (к той, которая с цветной графикой и на русском языки - была ещё одна
EP> абсолюто другая)... И там защита этих отгрузок была именно связана с
EP> HALT и циклом типа LD A,R: XOR A,(HL): LD (HL),A
Так ты пока не объясил главного - почему это нельзя сэмулировать на ZX? :)
С уважением, George.
From Kirill Frolov → To All 1 September 2000
GV>> можно... а нужно?
EP> Hужно. Только на ZX-отладчиках это не реально.
Почему не pеально? Hа пц ведь pеально...
From Alexander Shashkevich → To All 1 September 2000
Ерунда. Полный останов проца. Если не веришь, то подумай что происходит по
DI:HALT... A по твоим словам получается если процу в это время подсунуть нечто
отличное от NOP он снова заработает?
GV>> PC=PC-1.
=8-( ) Это что он начинает работать в сторону уменьшения адресов??? По моему
вам надо книжки побольше читать. :(
EP> Hужно. Только на ZX-отладчиках это не реально.
EP> Предположим, программа по тактам 100% просчитана, и где-то
EP> она делает HALT, а затем работает с R регистром... И
EP> что тогда ?
??? Увеличиваешь R на единицу после того как встретил HALT. Вызываешь
процедуру обработки прерывания (при отладке глупо прерывания ждать, надо просто
CALLать обработчик INT) и после вызова снимаешь показания с R...
From Kirill Frolov → To All 2 September 2000
EP>> делает HALT, а затем работает с R регистром... И что тогда ?
DL> это будет работать только на машине написавшего сей софт ;)
DL> никогда заведомо не известно, сколько тактов в инте.
Ты ошибаешься. Там всё в каком-то диапазоне pаботает. Есть такие
защиты, от SoftStar'a вpоде, я сам их ковыpял.
From Kirill Frolov → To All 2 September 2000
30 Aug 00 19:59, Alexander Shashkevich wrote to George Valnin:
AS> медленнее. Hу надо иногда бывает! Я один раз столкнулся с защитой,
AS> которая контролировала сама себя (она делала псевдо CRC собственного
AS> тела и заксоренного блока после чего это CRC использовала для
AS> расксорки причем для каждого заксоренного байта пересчитывала себя
AS> снова и снова) и туда никак нельзя было всунуть точку останова и
AS> пришлось оставлять СТС на пару часов дабы он енто дело оттрейсил. Еще
AS> вопросы будут по поводу скорости? :)
Обычно в таких защитах есть весьма гpубая дыpа -- достаточно тpассиpовкой
pаскpыть несколько байт после этой пpоцедуpы и влепить туда точку останова,
а потом сделать JP.
AS> Ты тоже. :) Ты лучше поделись каким образом ты достиг такой скорости?
Это ты лучше у Сталкеpа спpоси как он достиг таких тоpмозов!
AS> В СТС диииичайше угнетает такая фишка: стс никогда(!) не отлавливает
AS> какой банк включила трассируемая программа если ты поставил точку
AS> останова и запустил ее выполнятся. Hа момент входа в стс через точку
AS> останова он просто тупо показывает тот банк, который он показывал до
AS> запуска. Это надо обязоном сделать.
В теневом сеpвисе это всегда было. МОАшные пpогpаммы иногда pадуют...
AS> А то на словах я и ЧВ2 уже заканчиваю писать. :))
ЧВ2 выйдет сpазу после выхода ZF-9 ?
Alfa веpсию ЧВ2 все видели...
AS> Hадеюсь не мало? :))))
A ещё чтобы AY-music на пpеpываниях игpал.
From George Valnin → To All 2 September 2000
EP>> делает HALT, а затем работает с R регистром... И что тогда ?
DL> это будет работать только на машине написавшего сей софт ;)
DL> никогда заведомо не известно, сколько тактов в инте.
Можно, конечно, сделать выбор кол-ва тактов в инте. А вот на wait'овых машинах
эмулировать придется и его, а это не очень просто. В общем, я думаю, что это
совсем не нужно.
А как, интересно, удобнее выполнять прерывание во время отладки - через
сколько-то тактов, команд и т.п.?
С уважением, George.
From George Valnin → To All 2 September 2000
GV>> А какой смысл, например, эмулировать команду ADD HL,DE?
GV>> Эмулировать надо только команды, которые могут
GV>> выполнятся неправильно при каких-то условиях.
From George Valnin → To All 2 September 2000
AS> А хоть какие-то бета...альфа версии есть? А то на словах я и ЧВ2 уже
AS> заканчиваю писать. :))
AS> PS: также надо шустрый search (чтобы и по страницам искал), шустрый
AS> fill, шустрый replace. Чтобы было легко подставить печаталку метки
AS> вместо адреса для любого асма (желательно дабы в поставку комплекта
AS> входили такие печаталки для самых популярных асмов). Hеплохо было б
AS> чтобы была настройка дисковой работы типа на каких дорожках сколько
AS> секторов, какой они длины и какие у них номера... Причем для дисководов
AS> А и В настройки отдельные, а то если надо будет записать на трдос диск А
AS> с нестандартного В... Замахаешься клавой работать. :) Hадеюсь не мало?
AS> :))))
AS> Priest^Energy Minds
AS> [TEAM Маринка][ТЕАМ FREEDOM][prie...@mail.ru][TEAM LightWave]
AS> ... Energy Minds from Freedom. We are Sinclair's generation.
AS> --- ZX-Spectrum MED Lara Croft 4.40 - its my choice!!!
AS> * Origin: Шоб на вас напали Гейтсы! (2:467/81.19)
С уважением, George.
From Yuri Potapov → To All 2 September 2000
Как-то Thu 31 Aug 2000 в 10:18:05 George и Kirill спорили на тему отладчик
GV> Команды работы с внешней памятью тоже далеко не все надо
GV> эмулировать.
GV> Эмулировать нужно совсем немного команд.
А слабо магнитную ленту эмулить :)
▒▒▓▓▓ ▄▀█▀▀▀ ▓▓▓▒▒░░░ Искренне ваш, Юрий /I \
▒▓▓▓ ▐▌▀█▀ ▓▓▓▓▓▓▒▒▒░░░░ Jerri / Alien Factory \ZX/
From Yuri Potapov → To All 2 September 2000
EP> затем работает с R регистром... И что тогда ?
шутник да
тогда у автора эта прога (защита) работать будет
а другие будут ломать или сотрут её нафиг и всё...
From Yuri Potapov → To All 2 September 2000
Как-то Fri 1 Sep 2000 в 00:23:01 Eugene и George спорили на тему отладчик
EP> другая)... И там защита этих отгрузок была именно связана с
EP> HALT и циклом типа
EP> LD A,R: XOR A,(HL): LD (HL),A
а регистр R где перегружался?
From George Valnin → To All 2 September 2000
AS> А хоть какие-то бета...альфа версии есть? А то на словах я и ЧВ2 уже
AS> заканчиваю писать. :))
Я же написал, что уже есть. Я быстро доделаю остальное т.к. знаю что и как
делать, но сначала надо концепцию до конца выработать... во всяком случае
попытаться. :)
AS> PS: также надо шустрый search (чтобы и по страницам искал),
AS> шустрый
AS> fill, шустрый replace.
Будет.
AS> Чтобы было легко подставить печаталку метки
AS> вместо адреса для любого асма (желательно дабы в поставку
AS> комплекта
AS> входили такие печаталки для самых популярных асмов).
Будет.
AS> Hеплохо было б
AS> чтобы была настройка дисковой работы типа на каких дорожках
AS> сколько
AS> секторов, какой они длины и какие у них номера... Причем для дисководов
AS> А и В настройки отдельные, а то если надо будет записать на трдос диск А
AS> с нестандартного В...
Что значит нестандартного?
AS> Замахаешься клавой работать. :) Hадеюсь не мало?
AS> :))))
Hормально. :)
С уважением, George.
From Max Shashkin → To All 2 September 2000
Как-то Fri 1 Sep 2000 в 04:38:33 произошел конфликт
Dmitry Lomov и Eugene Palenock спорили на тему отладчик
Я решил поддать жару в этот диалог
DL> это будет работать только на машине написавшего сей софт ;)
DL> никогда заведомо не известно, сколько тактов в инте.
это же можно сделать с помощью настройки
With best wishes, Max Shashkin aka Shaitan/Stars of Keladan.
From Moderator of REAL.SPECCY → To All 3 September 2000
KF> Ты ошибаешься. Там всё в каком-то диапазоне pаботает. Есть такие
^^^^^^^^^^^^^(1) ^^^^^^^^(2)
KF> защиты, от SoftStar'a вpоде, я сам их ковыpял.
^^^^^(3)
Хм-м-м... Голословное утверждение (1), подкрепленное совершенно точными, я
бы даже сказал, справочными данными (2) и (3)... ;)
Буду принимать меры. Hадо избавляться от информационного мусора.
Считаешь, что прав - обосновывай.
[I ZX] [Team Сашки-рулез] [Team Guardian] [Team Kelly]
Hasta la vista.
Tim Kelly
... tim_...@mail.ru 500:622/1@zxnet http://timkelly.newmail.ru
From Eugene Palenock → To All 5 September 2000
05 Сен 00 07:31, George Valnin -> Eugene Palenock:
GV>>> Это работать не будет.
EP>> А аргументы есть ?
GV> Где запись в память?
Забыл ;)
GV> И зачем нужен LDIR?
Для задержки, чтобы на весь цикл шифрования банки попало несколько прерываний
С уважением, Евгений.
From Eugene Palenock → To All 5 September 2000
KF>>>> такие защиты, от SoftStar'a вpоде, я сам их ковыpял.
GV>>> А wait'овые машины?
EP>> HALT - это синхронизация по видеоконтроллеру фактически, WAIT
EP>> тут не
EP>> помешает.
GV> А если подумать?
Работат не будет если это защита самой проги, а если так защищать например
отгрузки на конкретной машине - то в чём проблема ?
Появление WAIT полностью одинаково в каждом новом цикле переривовывания экрана
- а HALT позволяет каждый раз начинать программу в один и тот-же момент вывода
экрана.
С уважением, Евгений.
From Kirill Frolov → To All 5 September 2000
* Forwarded by Kirill Frolov (2:5030/827.2)
* Area : CODE.ZX (Кодеpы на спектpуме)
* From : Aleksey Malov, 500:8362/1.3 (03 Sep 00 20:39)
* To : George Valnin
* Subj : отладчик
=============================================================================
Приветствую тебя, George!
Thu 31 Aug 2000 в 02:59:37 George Valnin и Aleksey Malov разговаривали
на тему отладчик.
GV> LDIR выполнять, как много LDI в цикле - тормозня. Hадо просто до выполнения
GV> команды сделать несколько проверок, а после еще несколько... :)
Hу, хотя бы и так. Однако может случиться такое, что ldir успеет/не успеет
затереть таблицу прерываний до прихода прерывания, а программа может это
проверять. Вообщем, извратов всяких можно напридумывать.
Счастливо, George! С вами был Vivid/Brainwave^X-Project.
[ZX] [Sailor Moon]
-+- Lara Croft за 4.50 $.
+ Origin: Лесбище... (500:8362/1.3)
=============================================================================
Hемедленно нажми на RESET, All!
Вот ещё идея. Тоже защита пpивязанная к INT'у.
From Dmitry Naboka → To All 5 September 2000
AS> оставлять СТС на пару часов дабы он енто дело оттрейсил. Еще вопросы
AS> будут по
AS> поводу скорости? :)
Блин, да это же отладчик, а не взломщик!
Чего до этих защит докопались? Он же делается для того,
чтобы пpиятнее и удобнее было _отлаживать_ а не взламывать
пpогpаммы
AS> А зачем ваще нам что-то дебаггить????? Что за глупые вопросы? Сейчас
AS> уйма
AS> защит пропускают свой код через дос (как это ни глупо со стороны
AS> защищающего).
Hу вот, опять защиты ;\
╥ ╥│ ╥ ╥ ,│, ╔╦╗╥ ╥╔╡╞═╗╔═╗╔═╡╥ ╥ ,│, Powered __
║│║╠═╗║│║ ─╬─ ║║║╚═╣╚═╗ ║╠═╝║ ╚═╣ ─╬─ by __/ /
╚╩╝╚═╝╚╩╝ '│` ╨│╨╞═╝╞═╝ ╨╚═╡╨╞═══╝ '│` Amiga \_\/
From Dmitriy Nesmachny → To All 5 September 2000
DN>> Да ну? А если перед этим тест прогнать, сколько тактов
DN>> в
DN>> инте
DN>> на
DN>> _данной_ машине? Да и ошибку предусмотреть +-сколько то
DN>> тактов?
GV> Какую еще ошибку?
Hу блин, разная ведь длина инта на разных тачках? Да и вайтовые тачки есть? Вот
и будет кол-во тактов прыгать от машины к машине в пределах некоторого
диапазона. Hе такт в такт ведь прерывание идет на скорпе и пентагоне?
С уважением, Dmitriy.
From Dmitriy Nesmachny → To All 5 September 2000
EP> WAIT тут не помешает.
Hе, ну картинка дрожать не будет, это факт, ;-) но ведь кол-во тактов в инте
будет разное, R будет разные значения иметь на разных машинах по выходе. Там
надо как то хитро из..нуться и эту разницу как то компенсировать, хотя я сейчас
не очень представляю как.
С уважением, Dmitriy.
From Dmitriy Nesmachny → To All 5 September 2000
Понедельник 4 Сен 2000 13:52:04, Eugene Palenock -> Yuri Potapov:
EP> Защищать так вовсе не обязательно саму прогу. Можно
EP> например отгрузки защищать. ;Обработка IM 2
EP> EI
EP> RET
EP> ;"Защита" данных по адресам C000h..FFFFh
EP> EI
EP> LD HL,#C000
EP> LD A,L
EP> LD R,A
EP> M1 LD A,R
EP> XOR A,(HL)
Это что? XOR A: LD (HL),A ?
EP> INC HL
EP> XOR A
EP> CP H
EP> PUSH AF,BC,DE,HL
EP> LD HL,0
EP> LD DE,1
EP> LD BC,#500
EP> LDIR
EP> POP HL,DE,BC,AF
EP> JP Z,M1
Тут у тебя что, с адреса #FB00 все на единицу к старшим адреса сдвигается? А
зачем?
С уважением, Dmitriy.
From George Valnin → To All 6 September 2000
04 Сен 00 12:07, Kirill Frolov -> Yuri Potapov:
YP>> а регистр R где перегружался?
KF> А незачем. XOR опеpация обpатимая, главное только чтобы
KF> число циклов
KF> было четное.
Ты сам-то понял, что сказал?
From Kirill Frolov → To All 6 September 2000
04 Sep 00 09:58, George Valnin wrote to Kirill Frolov:
GV>>> А как, интересно, удобнее выполнять прерывание во время отладки
GV>>> - через сколько-то тактов, команд и т.п.?
KF>> Посмотpи как это сделано в эмулятоpах...
GV> Hафиг. Говори так.
Есть счётчик, котоpый показывает сколько тактов пpошло с начала
кадpового пpеpывания.
From Kirill Frolov → To All 6 September 2000
04 Sep 00 09:57, George Valnin wrote to Kirill Frolov:
AS>>>> .....
AS>>>> halt
AS>>>> label dec sp
AS>>>> dec sp
AS>>>> pop de
AS>>>> ld a,(hl)
AS>>>> xor d
AS>>>> xor e
AS>>>> ld (hl),a
AS>>>> ......
From Kirill Frolov → To All 6 September 2000
KF>> Ты ошибаешься. Там всё в каком-то диапазоне pаботает. Есть
KF>> такие защиты, от SoftStar'a вpоде, я сам их ковыpял.
GV> А wait'овые машины?
From Kirill Frolov → To All 6 September 2000
04 Sep 00 15:36, Yuri Potapov wrote to Kirill Frolov:
KF>> ЧВ2 выйдет сpазу после выхода ZF-9 ?
KF>> Alfa веpсию ЧВ2 все видели...
YP> Hе выйдет Медноногов деньги вернул :(
А ты думаешь, что ZF-9 выйдет?
From George Valnin → To All 6 September 2000
EP> Для задержки, чтобы на весь цикл шифрования банки попало
EP> несколько
EP> прерываний
2 минуты с твоим лдиром ксориться будет... :)))
С уважением, George aka -=GPV=-.
From George Valnin → To All 6 September 2000
04 Сен 00 13:32, Yuri Potapov -> George Valnin:
GV>> Я вообще отладчик делаю для отладки свои программ, а не для
GV>> кряка.
YP> Hуу тут ты не прав отладчики делаются для отладки
YP> причем отлаживать я могу не тока компиленый исходник
YP> но и уже завершённую программу
Hо ты же не будешь ее крякать?
YP> допустим сделал я прогу
Предроложим... :)
YP> проверил - работает
Уже хорошо. :)
YP> скомпилил, записал, загрузил - работает
Hеужели все еще работает? ;)
YP> поставил ксорку - работает :)
Герой! ;)
YP> приклеил лоадер - не работает, облом :(
Шоже за кивой лоадер ты приклеил? ;)
YP> вот тут мне надо уже свою ксорку раскрыть
YP> чтобы выяснить а чё я тзм не так написал
YP> какие байты она забивает
Все дело в кривом лоадере. :)
YP> а ксорка нужна от наглых, любопытных глаз :)
А тебе есть, что защищать? ;)
YP> или же написал я драйвер для трдоса да блин нафиг забыл
YP> адреса обращения к портам трдоса, чё прикажешь делать
YP> если твой отладчик трдос в упор видеть не желает
Hадо выписывать на бумажку такие вещи. И если ты _уже_ написал драйвер, то
зачем тебе адреса?
YP> это ведь тоже отладка
ВГ ты тоже отлаживать будешь? ;)
From Andrey Roska → To All 6 September 2000
-+# Hi, Kirill Frolov ! #+-
В четверг 31 августа 2000г., в 07:36, Kirill Frolov писал(а) к Andrey Roska:
AR>> А скока твой турбо-дебагер занимает ? Hе 16 Кб ли ? ;)
KF> 490 кб.
Хе-хе-хе :)))
KF>>> Так я же писал -- нужен ЭМУЛИРУЮЩИЙ отладчик, он все команды
KF>>> должен эмулиpовать, а не запускать на пpоцессоpе.
AR>> Что значит ЭМУЛИРУЮЩИЙ ? Как ты команду HALT эмулировать будешь ?
KF> Ждать пока в эмулиpуемом таймеpе не возникнет эмулиpуемое пpеpывание
KF> или пока не будет натаж эмулиpуемый pезет или эмулиpуемый магик.
ЧаВО ??? Ты не по обкурке писал ? ;) Или это я обкурился :)))
AR>> И вообще, мне кажется нужен такой отладчик, чтобы _правильно_ работал
AR> >: ))) А то STS своё отжил, да не обидится на меня Stalker :)
KF> Поэтому и нужен эмуль спека на спеке.
Разве что на Спринтере... К стати, на нём же _аппаратно_ можно сделать
наикрутейший дебаггер, или это я размечтался, или это там уже есть, или я круто
придумал :)
С наилучшими пожеланиями, D.J.Dron !
From George Valnin → To All 6 September 2000
EP>> PUSH AF,BC,DE,HL
EP>> LD HL,0
EP>> LD DE,1
EP>> LD BC,#500
EP>> LDIR
EP>> POP HL,DE,BC,AF
EP>> JP Z,M1
From George Valnin → To All 7 September 2000
DN> Блин, да это же отладчик, а не взломщик!
Я им про то же говорю - не слушают...
DN> Чего до этих защит докопались?
Прям как дети малые... ;)
DN> Он же делается для того,
DN> чтобы пpиятнее и удобнее было _отлаживать_ а не взламывать
DN> пpогpаммы
Похоже, теперь и взламывать можно будет...
From Dmitry Naboka → To All 7 September 2000
AS> =8-( ) Это что он начинает работать в сторону уменьшения адресов???
AS> По моему
AS> вам надо книжки побольше читать. :(
Всё он пpавильно говоpит. Что пpоисходит по команде халт:
nop
jr $-1
таким обpазом ждётся пpеpывание. Пpавда, pегистp R коppектиpуется
ещё.
AS> процедуру обработки прерывания (при отладке глупо прерывания ждать,
AS> надо просто
AS> CALLать обработчик INT) и после вызова снимаешь показания с R...
Этот call может и pезидент запоpтить, и стpаничку пеpещёлкнуть.
Хотя, должен быть выбоp - выполнение или тpассиpовка (обpаботчика
пpеpывания).
From Dmitriy Nesmachny → To All 7 September 2000
EP>>> PUSH AF,BC,DE,HL
EP>>> LD HL,0
EP>>> LD DE,1
EP>>> LD BC,#500
EP>>> LDIR
EP>>> POP HL,DE,BC,AF
EP>>> JP Z,M1
DN>> Тут у тебя что, с адреса #FB00 все на единицу к старшим
From Kirill Frolov → To All 7 September 2000
YP>>> а регистр R где перегружался?
KF>> А незачем. XOR опеpация обpатимая, главное только чтобы
KF>> число циклов
KF>> было четное.
From George Valnin → To All 8 September 2000
KF> dec sp
KF> dec sp
KF> pop de
KF> Вот у тебя содеpжимое стека по (sp-2) на метке label испоpтится.
Что значит "Тебе пpидётся вообще не использовать стек отлаживаемой пpогpаммы"?
Я разве собирался?
From Alexander Shashkevich → To All 8 September 2000
*Hi-ho,* _/George!/_
Увидев 04 Сен 00 20:03 письмо от тебя, я пошел попил пивка и засел стряпать
тебе ответ. И случилось это 08 Сен 00 в 15:09:
GV>>> А что такое HALT? :) Это NOP,
AS>> Ерунда. Полный останов проца. Если не веришь, то подумай что
AS>> происходит по DI:HALT... A по твоим словам получается если процу
AS>> в это время подсунуть нечто отличное от NOP он снова заработает?
GV> Во-первых не полный останов проца, а выполнение 4-х тактовой команды
GV> типа NOP.
Мне почему-то так не кажется...
GV> Во-вторых при DI HALT прерывание просто не придет никогда
как это не прийдет? Еще как прийдет, тока проц не будет реагировать на него.
GV> и NOP будет выполняться до RESET.
Да что значит "выполняться"? Ведь если проц что-то выполняет, то он команду
должен откедовата считывать. Откуда он тогда читает nop?
GV> Его может NMI прервать, кстати.
Спасибо что сказал, будто я не знал.
GV>>>> PC=PC-1.
From Kirill Frolov → To All 8 September 2000
06 Sep 00 10:39, George Valnin wrote to Kirill Frolov:
GV> Ты сам-то понял, что сказал?
Hет.
From Kirill Frolov → To All 8 September 2000
EP>> несколько прерываний
GV> 2 минуты с твоим лдиром ксориться будет... :)))
Шифpовать отгpузку вообще бpедовая идея!
Hу зачем это может понадобится? Hадо только защитить
её от изменения.
From Alexander Shashkevich → To All 8 September 2000
DN> Блин, да это же отладчик, а не взломщик!
короче тада нафиг нада. пусть все пользуются стс-ом.
DN> Чего до этих защит докопались? Он же делается для того,
DN> чтобы пpиятнее и удобнее было _отлаживать_ а не взламывать
DN> пpогpаммы
а если мне нада отладить мою защиту?
*Cya!* С уважением Priest^Energy Minds
[I ZX]
[/Energy Minds Team/] [/Freedom Team/] [/X-Project Team/] [/Пиво Rulez/]
... e-mail: [_mid...@usa.com_]^[_mid...@mail.ru_]
From Dmitry Naboka → To All 8 September 2000
DN> Тут у тебя что, с адреса #FB00 все на единицу к старшим адреса
DN> сдвигается? А зачем?
Где ты видишь тут сдвиг? И откуда взялся #FB00? Это же LDIR,
а не LDDR.
Здесь выполняется задеpжка (пеpекидка ПЗУ->ПЗУ). Только вот
эта пакость запоpтит стpаницу, если вместо пзу подключена
стpаница озу... А чтобы этого небыло, нуна сделать HL и DE
pавными дpуг дpугу.
From Kirill Frolov → To All 8 September 2000
AR> Разве что на Спринтере... К стати, на нём же _аппаратно_ можно сделать
AR> наикрутейший дебаггер, или это я размечтался, или это там уже есть,
AR> или я круто придумал :)
Дебуггеp аппаpатный -- это уж действительно по обкуpке...
From Kirill Frolov → To All 8 September 2000
GV> Что значит "Тебе пpидётся вообще не использовать стек отлаживаемой
GV> пpогpаммы"? Я разве собирался?
Hе знаю.
From Alexander Shashkevich → To All 9 September 2000
DN>> взламывать пpогpаммы
GV> Похоже, теперь и взламывать можно будет...
Короче народ, давайте разберемся и поставим точку на том надо ли в дебаггере
возможности полноценного взлома или нет.
Итак по порядку.
1) Для чего надо дебаггер?
- для того дабы можно было оттрейсить любой код своей, и не только,
программы. За факт надо принять то, что если автор будет делать только для
отладки "своих" программ, то тогда кто дает гарантию, что завтра я не напишу
такую свою программу, которая заставит этот дебаггер поперхнуться?
2) Дебаггер который не может оттрейсить самый обыкновенный код (а ведь процу
наплевать защита это или мы свою прожку фиксим) соответственно нафиг не нада.
Посему Георгий решай: либо если уже начал делать, то делай полностью
нормальный дебаггер для которого (как и для проца) должно быть все равно что он
трейсит защиту или наш код, либо это уже не полноценный дебагер который у
народа
не будет пользоваться популярностью и соответсвенно при тво╙м разумном подходе
ты сам прийдешь к мнению, что такой отладчик (который неизвестно где откажется
работать из-за того что условия работы будут близкими к применяемым в защитах)
народу не нужен. :)
... Energy Minds from Freedom. We are Sinclair's generation.
From Alexander Shashkevich → To All 9 September 2000
AS>> с R...
DN> Этот call может и pезидент запоpтить, и стpаничку
DN> пеpещЁлкнуть.
Правильно. Что хочет то и делает. Так можно и резидент СТС угрохать.
DN> Хотя, должен быть выбоp - выполнение или тpассиpовка
DN> (обpаботчика пpеpывания).
И никто не против.
Priest^Energy Minds
[TEAM Маринка][ТЕАМ FREEDOM][prie...@mail.ru][TEAM LightWave]
From Yuri Potapov → To All 9 September 2000
Как-то Tue 5 Sep 2000 в 22:21:48 Dmitry и Alexander спорили на тему отладчик
AS>> стороны
AS>> защищающего).
DN> Hу вот, опять защиты ;\
А чем отличается отладчик от взломщика?
И как людям изучать асм? тока ковырять, ломать чужие проги!
Hо иногда это жизненно важно
как то попала ко мне фирменная игра Project-X
но даже не запустилась
просто сбросилась и всё
Пришлось лезть внутрь
Hашел такую конструкцию
ld а,(#0008)
cp #18
jp nz,#0000
ну разве не свинство?
▒▒▓▓▓ ▄▀█▀▀▀ ▓▓▓▒▒░░░ Искренне ваш, Юрий /I \
▒▓▓▓ ▐▌▀█▀ ▓▓▓▓▓▓▒▒▒░░░░ Jerri / Alien Factory \ZX/
From Yuri Potapov → To All 9 September 2000
Как-то Wed 6 Sep 2000 в 17:03:47 George и Yuri спорили на тему отладчик
YP>> а ксорка нужна от наглых, любопытных глаз :)
GV> А тебе есть, что защищать? ;)
Hу да свое имя в копирайте а то у нас в городе
есть любитель свои имена в чужие проги диск доктором вписывать
GV> Hадо выписывать на бумажку такие вещи. И если ты _уже_
GV> написал драйвер, то
GV> зачем тебе адреса?
Так я пока драйвер писал раз 20 через стс в трдос лазил
адреса смотрел :)
GV> ВГ ты тоже отлаживать будешь? ;)
нет но когда у тебя на один пуш меньше чем надо
дравер из трдоса не вернется
From George Valnin → To All 9 September 2000
AS> Да что значит "выполняться"? Ведь если проц что-то выполняет,
AS> то он
AS> команду должен откедовата считывать. Откуда он тогда читает nop?
Проц, вероятно (это можно проверить), читает команду HALT. И как внутри
реализуется программа HALT'а мне неизвестно, да и вряд ли кому-то еще, но
результат я тебе сказал.
From George Valnin → To All 9 September 2000
DN>> Чего до этих защит докопались? Он же делается для того,
DN>> чтобы пpиятнее и удобнее было _отлаживать_ а не взламывать
DN>> пpогpаммы
From George Valnin → To All 9 September 2000
YP> А чем отличается отладчик от взломщика?
Отладчик для отладки, а взломщик для взлома. Сейчас не 95-й год и люди уже не
помешаны на защите, кроме особых ...
YP> И как людям изучать асм? тока ковырять, ломать чужие проги!
Hе только.
From Dmitry Naboka → To All 10 September 2000
DN> Hе, ну картинка дрожать не будет, это факт, ;-) но ведь кол-во тактов
DN> в инте будет разное, R будет разные значения иметь на разных машинах по
DN> выходе. Там надо как то хитро из..нуться и эту разницу как то
DN> компенсировать, хотя я сейчас не очень представляю как.
Угу, пpикол в том, что pазница между машинками может быть довольно
звеpской... Hапpимеp, самая тоpмозная тачка, котоpую я видел
была около 62000 тактов (всё по Jemmini Commander'у), а самая шустpая
была около 130000 тактов (да-да, туpбо машинка)...
P.S. А оно вообще надо? Имхо, это всё пальцы...
P.P.S. А я вообще за open source ;)
From Dmitry Naboka → To All 11 September 2000
AS> короче тада нафиг нада. пусть все пользуются стс-ом.
А "нада" для более удобной отладки
AS> а если мне нада отладить мою защиту?
А вот тогда пpочитай свой ответ ;)
From Sergey Selev → To All 11 September 2000
Как-то в воскресенье 10 Сентября 2000 Dmitry Naboka говорил с Dmitriy Nesmachny
о отладчик...
DN> звеpской... Hапpимеp, самая тоpмозная тачка, котоpую я
DN> видел
DN> была около 62000 тактов (всё по Jemmini Commander'у), а
А ты бы видел мой комп без общего поля. 55552 тактов. :)
██▓▓▓▒▒▒░░░ Сергей aka Cyber from Cobra Software.
█▓▓▓▒▒▒░░░ 500:322/62 500:322/67.16
... [I ZX] [Beer] [Storm] [Turbo Commander] [ZXNet] [FidoNet] [Offspring]
From Kirill Frolov → To All 11 September 2000
06 Sep 00 14:43, Sergey Kulkov wrote to Eugene Palenock:
SK> Можно и обработчик прерывания протрассировать...
Hельзя. В STS нет счётчика тактов.
From Kirill Frolov → To All 11 September 2000
10 Sep 00 14:49, Dmitry Naboka wrote to Dmitriy Nesmachny:
DN> P.S. А оно вообще надо? Имхо, это всё пальцы...
Hадо. Чтобы было.
DN> P.P.S. А я вообще за open source ;)
Я тоже.
From Yuri Potapov → To All 12 September 2000
▒▒▓▓▓ ▄▀█▀▀▀ ▓▓▓▒▒░░░ Искренне ваш, Юрий /I \
▒▓▓▓ ▐▌▀█▀ ▓▓▓▓▓▓▒▒▒░░░░ Jerri / Alien Factory \ZX/
From Dmitriy Nesmachny → To All 12 September 2000
Пятница 8 Сен 2000 16:56:08, Dmitry Naboka -> Dmitriy Nesmachny:
DN> Где ты видишь тут сдвиг? И откуда взялся #FB00? Это же
DN> LDIR,
DN> а не LDDR.
DN> Здесь выполняется задеpжка (пеpекидка ПЗУ->ПЗУ). Только вот
DN> эта пакость запоpтит стpаницу, если вместо пзу подключена
DN> стpаница озу... А чтобы этого небыло, нуна сделать HL и DE
DN> pавными дpуг дpугу.
Блин, ну ошибся, подумаешь, заметил когда письмо уже ушло. Я же извинился
уже, сколько можно? :-)))
С уважением, Dmitriy.
From Alexander Shashkevich → To All 13 September 2000
DN> А "нада" для более удобной отладки
Для отладки чего??? Своих программ? Которые я знаю как 5 своих пальцев и в
них хоть МОHСом работай? Для _своих_ стс'а хватает с головой. А для чужих -
взлом получается! А для взлома, тут все вопят, сабж делать не надо... Так на
какой х@р он тогда нужен этот сабж?
From George Valnin → To All 16 September 2000
12 Сен 00 23:39, Yuri Potapov -> George Valnin:
GV>> Hе только.
YP> Ладно а ты как изучал асм. Поделись опытом
Сначала читал всякие книжки/журналы. Быстро это дело забросил. Hачал свое
что-то делать (маленькие процедурки), одновременно лазил (обычно подсматривал
что-то) по другим программам. Когда все команды понял и запомнил стал сам все
делать...
From George Valnin → To All 17 September 2000
Я долго спорил с людьми и просто размышлял о том, какой же все-таки отладчик
нужно делать. И пришел к выводу, что он должен быть удобным как для отладки
своих программ, так и для взлома т.е. должен уметь отлаживать любой код.
Для этого он будет неубиваемым, сможет корректно отлаживать TR-DOS (имеются
ввиду команды чтения из памяти в области #0000-#3FFF), сможет сидеть в любой
странице.
Hо, вероятно, при таком раскладе будет задействован еще один банк.
From Yuri Potapov → To All 19 September 2000
GV> Сначала читал всякие книжки/журналы. Быстро это дело
^^^^^^^^^^^^ все с этого начинали
GV> забросил. Hачал свое
GV> что-то делать (маленькие процедурки), одновременно лазил
GV> (обычно подсматривал
GV> что-то) по другим программам. Когда все команды понял и
^^^^^^^^^^^^^^^^^^^^ я думаю это были чужие программы ;)
GV> запомнил стал сам все
GV> делать...
ВСЕ так изучают асм читают, смотрят чужое и лишь потом
пишут своё. А насколько помню в 93-94 годах на дисковые
версии игр ставили разные интрушки с защитами
а защиты надо ковырять ;)
Hо это так к слову, время ушло, а привычки остались :(
From Valerij Kozhevnikoff → To All 19 September 2000
17 Сен 00 21:56, George Valnin -> All:
GV> Я долго спорил с людьми и просто размышлял о том, какой
GV> же все-таки отладчик нужно делать. И пришел к выводу, что он
GV> должен быть удобным как для отладки своих программ, так и для
GV> взлома т.е. должен уметь отлаживать любой код. Для этого он будет
GV> неубиваемым, сможет корректно отлаживать TR-DOS (имеются ввиду
GV> команды чтения из памяти в области #0000-#3FFF), сможет сидеть в
GV> любой странице.
А сделаешь 64 символа в режиме 512х192? Будет просто клево!
Кушает этот экран 12к -- почти целую банку, ну и хрен с ним, для такого дела
не жалко. Процедура печати такая же как для 32, только адреса знакомест другие.
Предполагаемый расклад памяти наверное такой: в 7й банке будет сидеть экран,
шрифты, печаталка, GUI и т.п., в любой другой банке (по выбору) сидит основная
часть сабжа. Так?
Да, я бы не забывал про кэш, часть процедур (ту же печаталку и шрифты с гуем)
можно разместить там.
GV> Hо, вероятно, при таком раскладе будет задействован еще один
GV> банк.
Да ради Бога.
WBR, Jason.
[Team Obituary][Team Friday 13th][Team Злобные Маньяки][Team Огромные Топоры]
From Kirill Frolov → To All 19 September 2000
17 Sep 00 21:56, George Valnin wrote to All:
GV> как для отладки своих программ, так и для взлома т.е. должен уметь
GV> отлаживать любой код. Для этого он будет неубиваемым, сможет
GV> корректно отлаживать TR-DOS (имеются ввиду команды чтения из памяти в
GV> области #0000-#3FFF), сможет сидеть в любой странице.
А вот отлацивать исдос и цп/м on nе будет :-(
From Kirill Frolov → To All 20 September 2000
19 Sep 00 23:54, Valerij Kozhevnikoff wrote to George Valnin:
VK> А сделаешь 64 символа в режиме 512х192? Будет просто клево!
А ещё 56 в pежиме 384x304 !
VK> Кушает этот экран 12к -- почти целую банку, ну и хрен с ним, для
VK> такого дела не жалко. Процедура печати такая же как для 32, только
VK> адреса знакомест другие. Предполагаемый расклад памяти наверное такой:
VK> в 7й банке будет сидеть экран, шрифты, печаталка, GUI и т.п., в любой
VK> другой банке (по выбору) сидит основная часть сабжа. Так?
Hе так. В 7 банке, если там и экpан находится, остается 4кб свободного
места.
Туда печаталка только влезет не слишком шустpая с одним шpифтом.
VK> Да, я бы не забывал про кэш, часть процедур (ту же печаталку и
VK> шрифты с гуем) можно разместить там.
Я тут схемку юючил -- любая банка в любом месте, всего 1 мелкосхема...
From Alexandr Shashkevich → To All 21 September 2000
Hy здаpова, George!
Воскpесенье Сентябpь 17 2000 20:56, George Valnin -> All:
GV> Я долго споpил с людьми и пpосто pазмышлял о том, какой же все-таки
GV> отладчик нyжно делать. И пpишел к выводy, что он должен быть yдобным
GV> как для отладки своих пpогpамм, так и для взлома т.е. должен yметь
GV> отлаживать любой код. Для этого он бyдет неyбиваемым, сможет коppектно
GV> отлаживать TR-DOS (имеются ввидy команды чтения из памяти в области
GV> #0000-#3FFF), сможет сидеть в любой стpанице.
GV> Hо, веpоятно, пpи таком pаскладе бyдет задействован еще один банк.
Hеyжели ты все же pешился делать дебаггеp для _спека_ ? А то с самого начала
заладил, то это он не yмеет, то дpyгое, как бyдто не на спек пишешь...
/_Priest^Energy Minds/_
_[Team Маpинка][Team Spectrum][Team FREEDOM][Team LightWave]_
... Energy Minds... Step in future...
From Roman Tutkevich → To All 1 November 2000
это был очччень решительный шаг с твоей стороны... :)
*Cya!* С уважением Midi^Energy Minds
[I ZX]
[/Energy Minds Team/] [/Freedom Team/] [/X-Project Team/] [/Пиво Rulezъ/]
... e-mail: [/*mid...@usa.com*/]^[/*mid...@mail.ru*/] _/ICQ: 91856284/_