Вход

Просмотр полной версии : zxpress.ru - критика, пожелания, предложения



newart
30.11.2013, 01:34
Baxter, Заметил приятные изменения, порадовало. А куда поиск делся?

Не знаю что случилось, внезапно ощутил тягу привести сайт в порядок. :v2_dizzy_punk:

Пока немного причесал дизайн.
По умолчанию в статьях отключил попугайскую раскраску, вернул версию статьи для печати.

Поиск ранее был реализован через API яндекса. Тот кто хоть мало мальски занимается WEB'ом знает насколько яндекс не адекватен в вопросе индексации контента. Но и гугл не очень удобен. В общем буду пробовать реализовать поиск через Sphinx (http://ru.wikipedia.org/wiki/Sphinx_(%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2 %D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC% D0%B0)).

Все номера электронного журнала или газеты теперь скачиваются общим архивом.

По статьям будет сделан подробный рубрикатор + теги.

По скольку большинство полезных статей уже добавлено, дальше пойдет работа над качеством: добавление иллюстраций, фиксы глюков zx fine reader'a.

Бумажная литература будет разбита по темам.


Буду рад услышать хоть какую-то критику, пожелания, предложения.

introspec
30.11.2013, 01:50
Версия статьи для печати - очень полезно, т.к. фактически что-то сбрасывать на диск было до этого невозможно. Было бы совсем здорово иметь ещё возможность скачать голый текст (если это вообще возможно).

Скачивание всех номеров журнала одним архивом - архиполезно.

В необходимости рубрикатора не уверен, тэги должны бы быть по идее достаточны.

Новый дизайн мне по душе, старый белым по чёрному раздражал.

newart
30.11.2013, 02:16
В необходимости рубрикатора не уверен, тэги должны бы быть по идее достаточны.
Имеется ввиду расширенная версия вот этого: http://zxdn.narod.ru/

---------- Post added at 02:16 ---------- Previous post was at 02:15 ----------


Было бы совсем здорово иметь ещё возможность скачать голый текст (если это вообще возможно).
Высушенный от тегов раскраски?

introspec
30.11.2013, 02:37
Имеется ввиду расширенная версия вот этого: http://zxdn.narod.ru/
Да, я именно так и понял. Рубрикатор на ZXDN не очень качественный и немного "однобокий", в том смысле, что некоторые темы закрыты очень подробно, а некоторые - довольно поверхностно. Видно интересы человека, который делал рубрикатор. С тэгами, по идее, можно сберечь силы на организацию "содержания" и просто тупо поставить побольше тэгов. Имхо, конечно.


Высушенный от тегов раскраски?
Высушенный от тэгов - точка! Наверное, я не один такой странный человек кто сидит в двухпанельном файл-менеджере? Неудобно читать доки в браузере или пдф, это просто тупо медленно.

breeze
30.11.2013, 13:51
http://i.imgur.com/7TuEDR5.jpg

Hacker VBI
30.11.2013, 14:17
newart, пример: http://zxdn.narod.ru/coding/zg45mfmt.txt - принудительно 1251 можно в браузер отдавать?
очень полезный сайт, но с кодировкой беда.
а по zxpress - блок с темами и выбором издания на главной уполз в самый низ, под центральную таблицу. фокс 25.0.1

esl
30.11.2013, 14:46
newart, пример: http://zxdn.narod.ru/coding/zg45mfmt.txt - принудительно 1251 можно в браузер отдавать?
очень полезный сайт, но с кодировкой беда.
а по zxpress - блок с темами и выбором издания на главной уполз в самый низ, под центральную таблицу. фокс 25.0.1

В браузер надо utf-8 отдавать, и только его.
Очень неудобно играть в угадайку с кодировками
А часто приходится перебираться все возжные

im2
30.11.2013, 14:56
Пожелание - дать возможность скачивать любую книгу. У некоторых книг нет ссылок на скачиание вообще, есть только описание, а некоторые почитать можно, но архива также нет.

alvis
30.11.2013, 15:06
а только у меня руается на битые архивы? Например Spectrofon и ZX-Format?

breeze
30.11.2013, 16:25
В браузер надо utf-8 отдавать, и только его.

100%! На дворе 2013й год, а вы всё какие-то кодировки выбираете.

newart
30.11.2013, 18:26
Пожелание - дать возможность скачивать любую книгу. У некоторых книг нет ссылок на скачиание вообще, есть только описание, а некоторые почитать можно, но архива также нет.
C книгами всё запущено. Но буду приводить в порядок.


а только у меня руается на битые архивы? Например Spectrofon и ZX-Format?
У меня тоже. Через readfile хостинг отдает почему то не весь файл. Буду разбираться.


а по zxpress - блок с темами и выбором издания на главной уполз в самый низ, под центральную таблицу. фокс 25.0.1
Ага. Я в курсе. Не все страницы еще допилил.

baxter
30.11.2013, 18:49
Очень хорошо, что теперь качается всё одним архивом (что бы скачать газету On-Line надо было кликнуть 170 раз)!
Но теперь приходится разархивировать дважды. Имхо, лучше скоп образов, вложенных в папку с названием газеты/журнала, положить в архив.

scl^mc
30.11.2013, 19:09
Очень хорошо, что теперь качается всё одним архивом (что бы скачать газету On-Line надо было кликнуть 170 раз)!
Но теперь приходится разархивировать дважды. Имхо, лучше скоп образов, вложенных в папку с названием газеты/журнала, положить в архив.
имхо, при клике на ссылку скачать все итоговый архив собирается "на лету"

Vitamin
30.11.2013, 20:08
Не знаю что случилось, внезапно ощутил тягу привести сайт в порядок.
В рамках полуоффтопа: а когда очередь до zxtunes.com дойдет? :)

phant0m
30.11.2013, 20:39
newart, разметка поползла:
http://111.r.photoshare.ru/01116/00aa673106f6bfd112219c4331f52eab2a7219aa.jpg

AAA
30.11.2013, 21:54
архив выдранной музыки из всех журналов и архив выдранной графики не понял как скачать

newart
30.11.2013, 21:59
В рамках полуоффтопа: а когда очередь до zxtunes.com дойдет?
После того как допилю до минимального приличного вида zxpress и перевезу его на vps. На том vps должен нормально завестить zxtune, что позволит сделать всё так как я давно хочу.

---------- Post added at 21:59 ---------- Previous post was at 21:55 ----------


и архив выдранной графики не понял как скачать
Очень специфичная фича. Если без подписей то вот: http://zxpress.ru/screens/1/

Hacker VBI
30.11.2013, 23:31
newart, народ в общем верно про утф8 говорит

newart
01.12.2013, 00:03
По статистике как думаете что интересного еще можно вычленить?

Vitamin
01.12.2013, 00:46
По статистике как думаете что интересного еще можно вычленить?
Статьи с категоризацией по авторам. Но требует серьезной обработки на тему авторства той или иной статьи, что иногда крайне сложно.

newart
01.12.2013, 01:10
Статьи с категоризацией по авторам. Но требует серьезной обработки на тему авторства той или иной статьи, что иногда крайне сложно.
Сбор этих данных займет >=100 человеко часов...

Vitamin
01.12.2013, 01:12
Сбор этих данных займет >=100 человеко часов...
А как насчет неких средств "обратной связи"?
Типа, почитал статью- помоги собрать информацию (написать автора, проставить теги и т.п.) Я не силен в веб-программировании, посему не могу представить сложность...

newart
01.12.2013, 01:23
Типа, почитал статью- помоги собрать информацию (написать автора, проставить теги и т.п.) Я не силен в веб-программировании, посему не могу представить сложность...
Это легко. Сделаю на днях.

newart
01.12.2013, 22:12
Высушенный от тэгов - точка! Наверное, я не один такой странный человек кто сидит в двухпанельном файл-менеджере? Неудобно читать доки в браузере или пдф, это просто тупо медленно.
Сделал. Единственно, не очень понятно что делать с именем файла. Если брать название статьи то там и 300 символов может быть. Буду наверное обрезать символов после 60.

Ну и кодировка естественно utf8.

---------- Post added at 22:12 ---------- Previous post was at 22:11 ----------

Добавил просмотр статьи в оригинальном цветном формате (иконка монитора).

Может кому-то и пригодится. http://zxpress.ru/article.php?id=10024

introspec
02.12.2013, 00:14
Сделал. Единственно, не очень понятно что делать с именем файла. Если брать название статьи то там и 300 символов может быть.Может быть сделать названия статей по типу "журнал_номер_номер_статьи"? заведомо будет работать, и сразу какая-никакая организация на диске.

Sanyok
02.12.2013, 22:20
А ещё по ссылке скачать журнал скачивается zip-файл нулевого размера. Уж не знаю везде или просто я такой счастливый, но несколько пробовал - везде нулевые.

shuran33
02.12.2013, 22:37
Поиск появится обратно, или насовсем убрали? С ним было удобнее, мне кажется.

newart
02.12.2013, 23:44
А ещё по ссылке скачать журнал скачивается zip-файл нулевого размера. Уж не знаю везде или просто я такой счастливый, но несколько пробовал - везде нулевые.
Тестирую... пробовал альтернативные методы.


Поиск появится обратно, или насовсем убрали? С ним было удобнее, мне кажется.
Мне тоже так кажется. :)
Для поиска раньше использовался Яндекс, но он в последнее время стал слишком своенравным в плане индексации.

Временно воткну Гугловский поиск, а потом постараюсь перейти на автономный.

Hacker VBI
03.12.2013, 12:14
newart, в правом блоке (выбрать издание) на любой странице ссылки ведут на неё-же, за исключением "в этот день"
и подвал под этот-же блок улетел

спасибо.читал вчерась холивары о чанках и мультиколорах (Vivid VS Sairoos, Chanks VS Multicolor, Dogma VS Triptomine Dream. (http://zxpress.ru/article.php?id=10047)), реально ураган! :)

crazy_bender/ex-PLACEBO
03.12.2013, 12:41
грамотность не плохо бы повысить ))) а в целом нормально все

Vitamin
03.12.2013, 12:54
грамотность не плохо бы повысить
Точно!

newart
04.12.2013, 01:15
в правом блоке (выбрать издание) на любой странице ссылки ведут на неё-же
Ну правильно. Рубрикатора то нет пока. А то что висит - просто болванка.

---------- Post added at 01:15 ---------- Previous post was at 01:10 ----------


(Vivid VS Sairoos, Chanks VS Multicolor, Dogma VS Triptomine Dream.)
Интересных текстов много. Есть и такие которые не потеряли актуальности, затираешь 1999, ставишь 2013 и понимаешь что ничего не изменилось. Другие напротив вызывают улыбку и умиление.

newart
05.12.2013, 05:19
Набросал примерное дерево рубрикатора:

Игры
Обзоры, описания, советы
Прохождения
Читы и пароли
Новеллы
Хит Парад

Софт
Описания
Ассемблеры
Отладчики
Графические редакторы
Музыкальные редакторы
Операционные системы
Коммандеры
Сеть
Другие программы

Программирование
Бейсик и его диалекты
Ассемблер для начинающих
Оптимизация кода
Цифровой звук
Музыка, AY
Графика
чанки
спрайты
отображение текста
элементы интерфейса
конвертирование
отдельные эффекты
бордюр, мультиколоры
видео
Игростроение
Демостроение
Эмуляторы
Работа с текстом
TR-DOS, ВГ93
iS-DOS
Другие дисковые системы
Защита и взлом ПО
Сжатие данных
Форматы файлов
Вычисления
Описания библиотек
Драйвера, модули
Работа с устройствами
особенности моделей компьютеров
Работа с памятью
Пользовательский интерфейс
Разное

Электроника
Видеорежимы
Звуковые устройства
Расширение памяти
ПЗУ, теневые ОЗУ
Контроллеры дисководов, жёстких дисков
Дисководы
Клавиатуры, мыши
Подключение к мониторам, телевизорам
Интерфейсы, шины
Модемы
Доработки и исправления
Разные устройства
Разные идеи

Дэмосцена
Демопати
Репортажи и отчеты
Правила и приглашения
Результаты
Обзор демо
Дискуссии и размышления

Люди и группы
Интервью


Музыка
Написание музыки
Обзоры музыки с демопати
Другое

Графика
Обычная графика
Рисования
Галерея работ
Обзоры графики с демопати
ASCII/ANSI
Рисование
Галерея работ

Другие платформы
Amiga
Commodore 64
PC
Другие

Сеть
Фидо
ZX Net
Список BBS
История?
Интернет

Эмуляторы

История

Не понятно что делать с разделом История - http://zxpress.ru/articles_list.php?tag=20

С одной стороны это может быть история какого то клона, скажем Амиги и может быть вписана в соответсвубщий раздел (и затеряется там?)
С другой стороны это может быть... "История итальянской спектрумовской софт-сцены в Италии", которую можно было бы засунуть в раздел Софта в пункт "Разное" - то тогда она опять же потеряется. Ясно что создавать раздел История в каждом разделе бессмыслено тоже.

Еще есть такой интересное направление как постмортем иначе говоря "история создания" только уже не явления, а какого то софта.

Тоже видимо нужно выносить в отдельный раздел? Или обьединить с разделом "история"?

---------- Post added at 05:19 ---------- Previous post was at 05:14 ----------

А еще есть такая любимая на этом форуме тема как "Концепции"...

Что касается тэгов. Они нужны для большей конкретики. Например "tr-dos, ay, scorpion, медноногов, черный ворон, комерция"

solegstar
05.12.2013, 18:41
Поиск появится обратно, или насовсем убрали? С ним было удобнее, мне кажется.

пока поиск не вернули, я ищу допустим так: схема подключения музыкального сопроцессора site:zxpress.ru (https://www.google.com.ua/?gws_rd=cr&ei=D5CgUpnKLOeE4gTH0IGACA#q=%D1%81%D1%85%D0%B5%D0% BC%D0%B0+%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%8 7%D0%B5%D0%BD%D0%B8%D1%8F+%D0%BC%D1%83%D0%B7%D1%8B %D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE+% D1%81%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1 %81%D0%BE%D1%80%D0%B0+site:zxpress.ru)

introspec
05.12.2013, 20:06
Набросал примерное дерево рубрикатора [...]
newart, рубрикатор - большое, непростое дело. Каждый видит его по-своему. Чтобы найти в нём что-то нужное придётся каждый раз возиться (как сейчас на zxdn). Кто будет этим заниматься? В наше время, если есть интерес к мультиколору, проще набрать в гугле zx multicolor, и открыть то, что найдётся в zxdn. Если бы у тебя при этом был ещё и таг "мультиколор", рубрикатор окажется совершенно не нужным. Т.е. поиск по ключевому слову + теги = на порядок более эффективная навигация. Имхо, конечно.

newart
05.12.2013, 23:58
. Если бы у тебя при этом был ещё и таг "мультиколор", рубрикатор окажется совершенно не нужным.
Если вбить в поиске "мультиколор" найдутся статьи как и о программировании, так и обзор демок, и много чего еще лишнего. А имея разделы (темы) мы можем ограничить зону поиска.

И бонусом получаем инструмент для любопытных. Скажем вот хочется мне почитать про разборки, наезды, скандалы - что мне вбивать в поиске?

Если полагаться только на поиск то сайт превращается в черный ящик. Что не очень хорошо при 15000 статьях.

Hacker VBI
06.12.2013, 01:58
newart, теги нужны. разделы нужны тоже.
теги для опытных, разделы для всех.
делай как считаешь нужным
я часто комбинирую поиск при наличии тегов - попал на подобную нужной тематику, далее по всем ссылкам в тегах

newart
06.12.2013, 04:09
делай как считаешь нужным
Что бы сделать адекватную структуру, нужна особенная ясность ума, у меня с этим не очень. :)

daniel
07.12.2013, 19:14
Скачиваю Deja Vu-архив битый. Скачиваю Born Dead - нормально открывается.
newart, проверь плиз.

Alex Rider
13.12.2013, 18:53
А сильно ли поменялся архив материалов после последней публикации? Будет новый, реорганизованный оффлайн-архив?

denpopov
13.02.2014, 09:06
а тексты ZX Guide 1-6 по какой причине отсутствуют?

Бука
27.02.2014, 21:39
Я никак не могу вкурить, как выбрать книгу на сайте.

Через гугль захожу на книгу, например http://zxpress.ru/book.php?id=136.

А со стартовой страницы могу видеть лишь список журналов.

И лишь ручками введя http://zxpress.ru/books.php попал на список книг. Странненько...

goodboy
12.03.2014, 00:57
это читать почти невозможно http://zxpress.ru/book.php?id=123
(наверное создано автоматическим распознаванием скана)

newart
19.01.2017, 22:40
Добавил https на сайт.

https://zxpress.ru

- - - Добавлено - - -

Так-же какое-то время назад на сайте появился раздел ZXNet (http://zxpress.ru/zxnet). Эхи там не все. А вот где взять все... большой вопрос.

Медный отсылает к Ларькову, Ларьков к Медному... и т.д.

Hacker VBI
19.01.2017, 23:12
newart, а зачем https ?

newart
19.01.2017, 23:29
Пока поиграться. А там посмотрим.

http://digital-partner.by/google-http-sites-are-unsafe/

- - - Добавлено - - -

Что касается ZXNet есть еще его беларуская часть. Но ее надо как-то выколупывать с дискет.

NEO SPECTRUMAN
19.01.2017, 23:36
а зачем https ?
Чтоб на твоем теплом и ламповом старом браузере тебе выдало
блаблабла шифрование не поддерживается
обновите браузер, виндавс, компутер...

creator
20.01.2017, 18:20
блаблабла шифрование не поддерживается
Во-во, Firefox (свежий!) этим просто задолбал, а в комплекте с антивирем (если в последнем не отключить проверку SSL) так это вообще тихий ужас. Только browsec и спасает (типа для России сертификат недействительный, а в "Амстердаме" работает!).

Black Cat / Era CG
20.01.2017, 18:54
newart, Че там с Deja Vu #4 (я в личку писал)

newart
21.01.2017, 10:24
newart, Че там с Deja Vu #4 (я в личку писал)
Я полистал варивант на сайте и в журнале. С ходу не понял где что потерялось. Хорошо бы увидеть утерянный фрагмент.

Black Cat / Era CG
21.01.2017, 15:01
Хорошо бы увидеть утерянный фрагмент.
Вот он:


;----------------------------------------;
;Printing in Different Evaluation Systems;
; LIBrary v2.0 ;
; (c) SerzhSoft, Shadrinsk, august, 1997 ;
;----------------------------------------;

_NULL EQU 0 ;Используется в изменяемых командах

;----------------------------------------;
; print in DEC system: ;
;----------------------------------------;
PDEC_3B ;Печать десятичного числа в AHL (00000000..16777215)
LD DE,34464 ;DE=100000-65536
LD BC,#FF01 ;B=-1 - счетчик сотен тысяч; С=1
LP_PD31 INC B ;увеличиваем счетчик сотен тысяч
AND A ;сбрасываем флаг переноса для SUB
SBC HL,DE ;уменьшаем трехбайтное число AHL
SBC A,C ;на одну сотню тысяч
JR NC,LP_PD31 ;повторяем пока нет переполнения
ADD HL,DE ;восстанавливаем положительное
ADC A,C ;значение у AHL; AHL<100000
PUSH AF ;сохраняем на стеке нужные нам
PUSH HL ;впоследствии регистры A, HL
LD A,B ;количество сотен тысяч в числе
CALL PDEC_B ;печатаем это значение
POP HL ;восстанавливаем со стека
POP AF ;регистры A, HL
DEC A ;если остаток<65536,
JR NZ,PDEC_W ;то переходим на печать 0..65535
LD DE,5536 ;иначе - число 65536..99999
ADD HL,DE ;прибавляем остаток от десятков
ADC A,B ;тысяч, и их сами - отдельно
PUSH HL ;------------------------------------
LD HL,DECTB_W ;Обходимый фрагмент процедуры PDEC_W
LD B,#05 ;------------------------------------
JR LP_PDW1+1 ;прыжок через обнуление десятков тысяч
;---------------------------------------------------------------------
PDEC_B ;Печать десятичного числа в A (000..255)
LD L,A ;поместили
LD H,#00 ; число в HL
PUSH HL ;закинули печатаемое число на стек
LD HL,DECTB_W+4 ;адрес в таблице, начиная с сотни
LD B,#03 ;максимальное возможное количество цифр - три
JR LP_PDW1 ;переход на цикл печати
;---------------------------------------------------------------------
PDEC_W ;Печать десятичного числа в HL (00000..65535)
PUSH HL ;закинули печатаемое число на стек
LD HL,DECTB_W ;адрес таблицы степеней десятки
LD B,#05 ;максимальное возможное количество цифр
LP_PDW1 XOR A ;обнулили счетчик и флаг C для SBC
LD E,(HL) ;взяли текущую степень
INC HL ; десятки из таблицы
LD D,(HL) ; и поместили в DE
INC HL ;перешли к следующему элементу таблицы
EX (SP),HL ;адрес элемента <-> печатаемое число
LP_PDW2 INC A ;увеличиваем счетчик
SBC HL,DE ;вычитаем текущую степень десятки
JR NC,LP_PDW2 ;повторяем пока HL>=0
ADD HL,DE ;HL=HL mod DE; A=HL div DE
ADD A,"0"-1 ;перевод A в ASCII-код ("0".."9")
RST #10 ;печать десятичной цифры
EX (SP),HL ;HL=адрес элемента, число -> на стек
DJNZ LP_PDW1 ;цикл по цифрам
POP HL ;убрали оставшийся ноль со стека
RET ;выход из процедуры
;---------------------------------------------------------------------
DECTB_W DW 10000,1000,100,10,1 ;Таблица степеней десятки
;----------------------------------------;
; print in HEX system: ;
;----------------------------------------;
PHEX_W ;Печать шестнадцатиричного числа в HL (0000..FFFF)
LD A,H ;печать старшего байта числа
CALL PHEX_B ;вызов процедуры HEX-печати байта
LD A,L ;печать младшего байта числа
;---------------------------------------------------------------------
PHEX_B ;Печать шестнадцатиричного числа в A (00..FF)
CALL PHEX_HB ;печатать по полубайтам

Должен находиться между


DECTB_B DB 100,10,1 ;Таблица степеней
10-ки для
byte
и


--------------;
PHEX_HB ;Печать старшего полубайта в A
(0..F)

При этом в статье https://zxpress.ru/article.php?id=7876
зачем-то затесался кусок из этой же либы, начиная вот с этого места:


EX DE,HL ; Например,
для основ-
ного знака X
AND A ; дополни-
тельным бу-
дет I, а их
SBC HL,BC ; разность
соответст-
венно:
EX DE,HL ;10-1=9,т.е.
IX и до конца листига.

- - - Добавлено - - -



;----------------------------------------;
;Printing in Different Evaluation Systems;
; LIBrary v2.0 ;
; (c) SerzhSoft, Shadrinsk, august, 1997 ;
;----------------------------------------;

_NULL EQU 0 ;Используется в изменяемых командах

;----------------------------------------;
; print in DEC system: ;
;----------------------------------------;
PDEC_3B ;Печать десятичного числа в AHL (00000000..16777215)
LD DE,34464 ;DE=100000-65536
LD BC,#FF01 ;B=-1 - счетчик сотен тысяч; С=1
LP_PD31 INC B ;увеличиваем счетчик сотен тысяч
AND A ;сбрасываем флаг переноса для SUB
SBC HL,DE ;уменьшаем трехбайтное число AHL
SBC A,C ;на одну сотню тысяч
JR NC,LP_PD31 ;повторяем пока нет переполнения
ADD HL,DE ;восстанавливаем положительное
ADC A,C ;значение у AHL; AHL<100000
PUSH AF ;сохраняем на стеке нужные нам
PUSH HL ;впоследствии регистры A, HL
LD A,B ;количество сотен тысяч в числе
CALL PDEC_B ;печатаем это значение
POP HL ;восстанавливаем со стека
POP AF ;регистры A, HL
DEC A ;если остаток<65536,
JR NZ,PDEC_W ;то переходим на печать 0..65535
LD DE,5536 ;иначе - число 65536..99999
ADD HL,DE ;прибавляем остаток от десятков
ADC A,B ;тысяч, и их сами - отдельно
PUSH HL ;------------------------------------
LD HL,DECTB_W ;Обходимый фрагмент процедуры PDEC_W
LD B,#05 ;------------------------------------
JR LP_PDW1+1 ;прыжок через обнуление десятков тысяч
;---------------------------------------------------------------------
PDEC_B ;Печать десятичного числа в A (000..255)
LD L,A ;поместили
LD H,#00 ; число в HL
PUSH HL ;закинули печатаемое число на стек
LD HL,DECTB_W+4 ;адрес в таблице, начиная с сотни
LD B,#03 ;максимальное возможное количество цифр - три
JR LP_PDW1 ;переход на цикл печати
;---------------------------------------------------------------------
PDEC_W ;Печать десятичного числа в HL (00000..65535)
PUSH HL ;закинули печатаемое число на стек
LD HL,DECTB_W ;адрес таблицы степеней десятки
LD B,#05 ;максимальное возможное количество цифр
LP_PDW1 XOR A ;обнулили счетчик и флаг C для SBC
LD E,(HL) ;взяли текущую степень
INC HL ; десятки из таблицы
LD D,(HL) ; и поместили в DE
INC HL ;перешли к следующему элементу таблицы
EX (SP),HL ;адрес элемента <-> печатаемое число
LP_PDW2 INC A ;увеличиваем счетчик
SBC HL,DE ;вычитаем текущую степень десятки
JR NC,LP_PDW2 ;повторяем пока HL>=0
ADD HL,DE ;HL=HL mod DE; A=HL div DE
ADD A,"0"-1 ;перевод A в ASCII-код ("0".."9")
RST #10 ;печать десятичной цифры
EX (SP),HL ;HL=адрес элемента, число -> на стек
DJNZ LP_PDW1 ;цикл по цифрам
POP HL ;убрали оставшийся ноль со стека
RET ;выход из процедуры
;---------------------------------------------------------------------
DECTB_W DW 10000,1000,100,10,1 ;Таблица степеней десятки
;----------------------------------------;
; print in HEX system: ;
;----------------------------------------;
PHEX_W ;Печать шестнадцатиричного числа в HL (0000..FFFF)
LD A,H ;печать старшего байта числа
CALL PHEX_B ;вызов процедуры HEX-печати байта
LD A,L ;печать младшего байта числа
;---------------------------------------------------------------------
PHEX_B ;Печать шестнадцатиричного числа в A (00..FF)
CALL PHEX_HB ;печатать по полубайтам
;---------------------------------------------------------------------
PHEX_HB ;Печать старшего полубайта в A (0..F)
RRCA ;меняем
RRCA ; местами
RRCA ; старший
RRCA ; и младший полубайты
;---------------------------------------------------------------------
PHEX_LB ;Печать младшего полубайта в A (0..F)
PUSH AF ;сохранили A на стеке
AND #0F ;отбросили лишние старшие биты
CP #0A ;если A<10,
JR C,GO_PHL ; то перепрыгнули
ADD A,"A"-"9"-1 ;корректировка: после "9" идет "A"
GO_PHL ADD A,"0" ;перевод в ASCII-код
RST #10 ;печать HEX-цифры ("0".."F")
POP AF ;восстановили A со стека
RET ;выход из процедуры
;----------------------------------------;
; print in BIN system: ;
;----------------------------------------;
PBIN_W ;Печать двоичного числа в HL (16 разрядов 0/1)
LD A,H ;печть старшего байта числа
CALL PBIN_B ;вызов процедуры BIN-печати байта
LD A,L ;печть младшего байта числа
;---------------------------------------------------------------------
PBIN_B ;Печать двоичного числа в A (8 рязрядов 0/1)
LD B,#08 ;в байте - 8 битов
LP_PBB RLCA ;поочередно 'выдвигаем' биты в CF
PUSH AF ;сохранить A на стеке
LD A,#18 ;в зависимости от флага C:
RLA ;A="0" или A="1"
RST #10 ;печать очередного бита
POP AF ;восстановить A со стека
DJNZ LP_PBB ;поразрядный цикл
RET ;выход из процедуры
;----------------------------------------;
; print in USER system: ;
;----------------------------------------;
PUSE_W ;Печать числа в установленной MKUSETB системе счисления в HL
PUSH HL ;закинули печатаемое число на стек
HL_PUW LD HL,_NULL ;адрес конца таблицы степеней
LP_PUW1 DEC HL ;загружаем в DE очередную
LD D,(HL) ; степень числа
DEC HL ; из таблицы
LD E,(HL) ; двигаясь сверху-вниз
EX (SP),HL ;адрес таблицы <-> печатаемое число
XOR A ;обнуление A и сброс флага C
LP_PUW2 INC A ;вычисляем очередной
SBC HL,DE ; разряд числа и результат
JR NC,LP_PUW2 ; помещаем в A (A=1+(HL div DE))
ADD HL,DE ;восстанавливаем положительное значение
ADD A,"0"-1 ;переводим A в ASCII-код
CP "9"+1 ;если код меньше "9",
JR C,GO_PUW1 ; то переход на печать
ADD A,"A"-"9"-1 ;коррекция (после "9" идет "A")
GO_PUW1 RST #10 ;печать очередной цифры числа
EX (SP),HL ;HL=адрес таблицы, число -> стек
DEC DE ;если степень
LD A,D ; числа не равна единице
OR E ; (самый первый элемент таблицы),
JR NZ,LP_PUW1 ; то продолжаем работу
POP HL ;убираем со стека ненужный 0
RET ;выход из процедуры
;---------------------------------------------------------------------
MKUSETB ;Создание таблицы степеней с основанием в A
LD HL,USE_TBL ;адрес создаваемой таблицы
LD DE,#0001 ;инициализация счетчика степени
LP_MUT1 LD (HL),E ;запись текущего
INC HL ; значения степени
LD (HL),D ; в таблицу и переход
INC HL ; к ее следующей ячейке
PUSH HL ;сохраняем адрес на стеке
LD B,A ;основание степени -> в счетчик цикла
LD HL,#0000 ;обнуление результата
LP_MUT2 ADD HL,DE ;подсчитываем результат
JR C,GO_MUT ;если HL>65535, то прерываем счет
DJNZ LP_MUT2 ;повторяем <основание> раз
EX DE,HL ;результат - в DE (новая степень)
GO_MUT POP HL ;восстанавливаем адрес таблицы
JR NC,LP_MUT1 ;если не прерывались, то повторяем
LD (HL_PUW+1),HL ;адрес конца таблицы -> в PUSE_W
RET ;выход из процедуры
;---------------------------------------------------------------------
USE_TBL DS 32 ;Таблица степеней текущей системы счисления
;----------------------------------------;
; print in RIM system: ;
;----------------------------------------;
PRIM_B ;Печать числа в римской записи в A (I..CCLV)
LD L,A ;скопировать
LD H,#00 ; A в HL
;---------------------------------------------------------------------
PRIM_W ;Печать числа в римской записи в HL (I..MMMCMXCIX)
PUSH HL ;закинули печатаемое число на стек
LD HL,RIM_TBL ;адрес таблицы знаков
DB #DD ;работаем с половинкой регистра IX
LD L,#07 ;LD XL, число знаков в римском счислении
LP_PRW1 LD E,(HL) ;считываем из таблицы значение
INC HL ; очередного знака римской системы
LD D,(HL) ; счисления и помещаем в DE
INC HL ;затем в регистр C считываем
LD C,(HL) ; ASCII-код знака
INC HL ;переход к следующему знаку
LD (HL_PRW+1),HL ;сохранили адрес следующего знака
EX (SP),HL ;адрес -> на стек, HL=печатаемое число
XOR A ;обнуление счетчика и сброс CF
LP_PRW2 INC A ;в цикле производим
SBC HL,DE ; деление HL на DE (вычитаем,
JR NC,LP_PRW2 ; пока нет переполнения)
ADD HL,DE ;восстанавливаем положительное значение
DEC A ;т.к. A на 1 больше HL div DE,
JR Z,GO_PRW1 ; то если A=1 - ничего не печатаем
LD B,A ;количество печатаемых символов
LP_PRW3 LD A,C ;код знака
RST #10 ;печатаем его
DJNZ LP_PRW3 ;сколько надо - столько и печатаем
GO_PRW1 DB #DD ;работаем с половинкой регистра IX
LD A,L ;LD A,XL - номер текущего знака
DEC A ;если это последний знак (I), то
JR Z,GO_PRW4 ; двухбуквенного сочетания нет
EX (SP),HL ;HL=адрес следующего знака, число -> стек
RRA ;если номер текущего знака четный,
JR C,GO_PRW2 ; то сочетание с следующим знаком,
INC HL ; иначе - перепрыгнуть через один
INC HL ; знак. В результате получим адрес
INC HL ; знака, для получения двойного
GO_PRW2 LD A,C ; знакосочетания (IV, CM, XL...)
LD C,(HL) ; взяли из таблицы значение для
INC HL ; этого знака и получили
LD B,(HL) ; разность между значением
INC HL ; основного и этим значением.
EX DE,HL ; Например, для основного знака X
AND A ; дополнительным будет I, а их
SBC HL,BC ; разность соответственно:
EX DE,HL ; 10-1=9, т.е. IX
LD C,A ;код основного знака
LD A,(HL) ;код дополнительного знака
EX (SP),HL ;HL=печатаемое число
SBC HL,DE ;если оно < дополнительного
JR C,GO_PRW3 ; значения, то не печатаем
RST #10 ;печать дополнительного знака
LD A,C ;основной знак
RST #10 ;печать
JR GO_PRW4 ;результат - двухбуквенное сочетание
GO_PRW3 ADD HL,DE ;восстановили (+) у числа
GO_PRW4 EX (SP),HL ;число -> на стек
HL_PRW LD HL,_NULL ;адрес следующего знака в таблице
DB #DD ;работаем с половинкой регистра IX
DEC L ;DEC XL - уменьшаем счетчик знаков
JR NZ,LP_PRW1 ;крутим цикл пока есть еще знаки
POP HL ;сняли ненужный уже ноль со стека
RET ;выход из процедуры
;---------------------------------------------------------------------
RIM_TBL ;Таблица значимости букв в написании римских чисел
DW 1000
DB "M" ;M=1000 ;CM=900
DW 500
DB "D" ;D=500 ;CD=400
DW 100
DB "C" ;C=100 ;XC=90
DW 50
DB "L" ;L=50 ;XL=40
DW 10
DB "X" ;X=10 ;IX=9
DW 5
DB "V" ;V=5 ;IV=4
DW 1
DB "I" ;I=1 ;-nop-
;----------------------------------------;
; end of PDES LIB 2.0 ;
;----------------------------------------;

newart
21.01.2017, 23:04
зачем-то затесался кусок из этой же либы, начиная вот с этого места:
Пасип! Пофиксил. Надеюсь верно.

Повыдирай и позаливай 18000 текстов и не таких косячков поймаешь )

Black Cat / Era CG
22.01.2017, 13:50
Надеюсь верно.
Вроде верно.

Повыдирай и позаливай 18000 текстов и не таких косячков поймаешь )
Да никто и не спорит же:)

- - - Добавлено - - -


При этом в статье https://zxpress.ru/article.php?id=7876
зачем-то затесался кусок из этой же либы, начиная вот с этого места:
и до конца листига.
Тут еще надо удалить все после строки

BUFFER EQU $

AmoNik
23.01.2017, 12:04
Так-же какое-то время назад на сайте появился раздел ZXNet (http://zxpress.ru/zxnet). Эхи там не все. А вот где взять все... большой вопрос.

Медный отсылает к Ларькову, Ларьков к Медному... и т.д.

У меня есть в архивах под iSDOS с начала двухтысячных и до 2006 года (когда там повремённую плату за телефон сделали). Выковыривать из архивов, будешь смотреть?

newart
23.01.2017, 20:31
У меня есть в архивах под iSDOS с начала двухтысячных и до 2006 года (когда там повремённую плату за телефон сделали). Выковыривать из архивов, будешь смотреть?

AmoNik, дорогой, конечно буду!

Black Cat / Era CG
29.01.2017, 08:41
newart, ВНИМАНИЕ ОЧЕПЯТКА!!!
Все в той же (https://zxpress.ru/article.php?id=7872)
На этот раз по моей вине. Каюсь:( Когда забивал недостающий кусок, по невнимательности забил LD A,B вместо LD A,6. :v2_dizzy_facepalm:
Ищем участок:

ADC A,B ;тысяч, и их сами - отдельно
PUSH HL ;------------------------------------
LD HL,DECTB_W ;Обходимый фрагмент процедуры PDEC_W
LD B,#05 ;------------------------------------
JR LP_PDW1+1 ;прыжок через обнуление десятков тысяч
;---------------------------------------------------------------------
Меняем на:

ADC A,6 ;тысяч, и их сами - отдельно
PUSH HL ;------------------------------------
LD HL,DECTB_W ;Обходимый фрагмент процедуры PDEC_W
LD B,#05 ;------------------------------------
JR LP_PDW1+1 ;прыжок через обнуление десятков тысяч
;---------------------------------------------------------------------
Извиняюсь.

Black Cat / Era CG
25.10.2021, 00:31
Упал? О_о

Dart Alver
16.04.2022, 15:48
Эх... Что-то с поиском неладное тут творится ))

https://pic.maxiol.com/thumbs2/1650113031.3557002788.pressfind.jpg (https://pic.maxiol.com/?v=1650113031.3557002788.pressfind.jpg&dp=2)

Enigmatic
16.04.2022, 20:08
Dart Alver,я это уже как минимум второй год наблюдаю

himik
02.09.2024, 08:12
поиск не работает!