nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 19 Apr 2018 23:11



Reply to topic  [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Обновление DSS 
Author Message
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Sayman wrote:
вопрос к Василию - поделись исходниками твоего шелла с историей?!


Бросил на мыло.

Quote:
Всё тоже самое после запуска екэша (копирование или флик с винта), только во время теста понажимать на Ф12?!
Демон же умеет делать точку останова? можешь проверить - после запуска екэша поставить точку останова на адрес 23h и запустить что-нибудь? если всё верно, то дос будет обращаться к биосу в кэше через rst 20h, там стоит call c100h, а после выполнения переключателя, там будет ret который вернёт на адрес 23h. и там должно стоять jp 0085h. если всё так, тогда действительно всё работает через кэш. а то подозрительно как-то. дело не в производительности. flc анимация это банальное сжатие rle. точнее там delta + rle.


Глянул доку по нему - не нашел работу ни с какими точками останова. А в эмуле, в котором ты сидишь, нет поддержки режима отладки, ну и все-такое... ?

Quote:
главная проблема создавать всё с нуля в том, что это всё на долго и оно ни с чем не совместимо. Разработчики Спринтера допустили большую ошибку, когда создали dss ни с чем не совместимое.


Не соглашусь. Ты бы хотел наплодить еще одного Спектрума, которых и так уже... "как собак не резанных". И ДОС их мне нравилась.

Quote:
Есть же CP/M. вот и готовый набор для разработки. запустили цпм, там и m80 и средства отладки. Требовалось только внесение доработок (изменения) в систему по образу и подобию мс-дос или мсх-дос2.


Знаешь, как-то смешно воспринимать CP/M, после нормальной ДОС, поддерживающей каталоги. Да и доступ к FAT на персоналке в любое время, в любом месте, да и винт утилами проверить можно. Не пойми меня неправильно - мне нравится CP/M и у меня от нее остались самые благоприятные впечатления. Но она безнадежно устарела. Кста, на Спринтере была какая-то недописанная затея по CP/M-у.

Quote:
сейчас у нас бы был прекрасный инструмент - hi-tech c как кросс, так и цпмный. но нет, авторы пошли своим путём.


А ты видел, какой код (на 8-ми битке) генерит этот "прекрасный инструмент" ?. Поскольку крутая математика по оптимизации выхлопного кода на 8-ми битках "заказана" (в разумных временных рамках), то единственным "прекрасным инструментом" остается только что-то типа "C--", где оптимизацию кода берет на себя программер.


Quote:
Известно, что память симм редкая и гадостная.


И медленная по нашим меркам.

Quote:
Известно, что проц редкий и дорогой.


Это даже и не проц, а целый контроллер.

Quote:
Видео-память тоже самое.


Согласен.

Quote:
Начать надо с малого - перевести исходники Спринтера на vhdl.


А почему не на Verilog ?, всеми так уважаемый и любимый, аж до икоты :)
Не знаю как все, а мне VHDL по душе. Хотя это (verilog, vhdl) всего лишь дело привычки, не больше.

Quote:
Пихать новый проц, типа z180 смысла нет - это тоже редкий зверь.


Не согласен. Только что проверил на алиэкспрессе - куча ссылок и цены доступные.

Quote:
Менее редкий - eZ80, но он дорогой.


505руб - это дорогой ?. Не совместим по коду с z80 и к нему ж еще ассемблер надо изучать... не-е-е ф топку его :)

Quote:
Нам же нужна любительская машинка, а не замена ПЦ.


Все (!) железки, которые будут появляться, будут сравнивать с ПЦ. Такова уж психология людей.

Quote:
Да, можно было бы воткнуть eZ80, тогда сильная потеря в совместимости со всякими пентагонами (это тпроц сильно быстрый).


Тебе еще одного (!) пентагона не хватает ?

Quote:
Или брать обычный зетник, но с возможностью разгона, где нить так же на 21-28 мгц.


Или z8s18033 на 33МГц и гнать ничего не надо.

Quote:
В Альтеру засунуть тот же Аксель и ещё fpu для быстрой математики и т.д. Но это всё лучше обкатать на том, что уже есть.


Это уже будет не Спринтер, а Спринтер II как минимум :)

Quote:
У Спринтера не так много недостатков. два самых главных - это сложность сборки (редкидие и дорогие компоненты) и он медленный.


Разрешите дополнить еще: "дыра" в 1-м окне z80 (в непрерывном пространстве памяти), прикрутка клавы с обносторонним обменом, нет аппаратных прерываний, нет аппаратного курсора и мышки (все софтовое, на что уходит просто "жопа" процессорного времени), вывод на телевизор. Да, еще не прикручен вывод текста в граф. режиме (тут каждый изгаляется сам, кто как может).

Quote:
Ну можно ещё софт сюда добавить, но это не так страшно.


Софт дело наживное. Был бы скелет, а мясо наростет :)

_________________
Vasil Ivanov
vasil-i@yandex.ru


23 Sep 2014 10:20
Profile
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
Quote:
Бросил на мыло.

Да видел, спасибо.

Quote:
Глянул доку по нему - не нашел работу ни с какими точками останова. А в эмуле, в котором ты сидишь, нет поддержки режима отладки, ну и все-такое... ?

Эмулятор-то показывает, что кэш включается. Он это показывал и в прошлые тесты. Нужно на реале это отловить. Ладно, я с демоном поковыряюсь, там что-то было про точку останова... не помню точно.


Quote:
Не соглашусь. Ты бы хотел наплодить еще одного Спектрума, которых и так уже... "как собак не резанных". И ДОС их мне нравилась.

...

Знаешь, как-то смешно воспринимать CP/M, после нормальной ДОС, поддерживающей каталоги. Да и доступ к FAT на персоналке в любое время, в любом месте, да и винт утилами проверить можно. Не пойми меня неправильно - мне нравится CP/M и у меня от нее остались самые благоприятные впечатления. Но она безнадежно устарела. Кста, на Спринтере была какая-то недописанная затея по CP/M-у.


говоря про цпм и несовместимость, я что хотел сказать-то? ну, возмём в пример Профика. Как ты знаешь, там цпм есть. причём в 90е годы было выпущено (мне известных) версий на базе цпм 2.2 - 3 или 4 штуки. но все они были примерно одинаковы - фс от цпм, про папки не знали, функции для работы с файлами аля цпм 2.2. но была одна разработка сильно от них отличавшаяся - бета версия profi-dos. она отличалась тем, что она работала с дисками в фс fat и как следствие знала про каталоги. были и системные вызовы, типа 26h и 27h - random block write и random block read соответственно. отличие в том. что эти две функци пишут и читают не с точностью до 128байт на запись (как в цпм2.2), а с точностью до байта. кстати в мсх-дос2 есть обе эти функции с тем же названием и делают они всё тоже самое, что и на профи. ты же помнишь, что такое MSX-DOS 2? ты же помнишь, что эта дос совместима с цпм? ттак вот, profi-dos это был некий аналог...хотя там много не было. сейчас её автор допиливает. это уже сильно напоминает ms-dos только для профи. что мешало разработчикам Спринтера взять на воружение именно аналог MSX-DOS 2? верно, ничего. в замен получили бы огромный набор софта, хоть и консолького. а местами можно было бы проводить порты с msx.
вот и была бы и поддержка каталогов и файловых дескрипторов и фибов и прекрасная совместимость с цпм и местами с консольным софтом для мсх.


Quote:
А ты видел, какой код (на 8-ми битке) генерит этот "прекрасный инструмент" ?. Поскольку крутая математика по оптимизации выхлопного кода на 8-ми битках "заказана" (в разумных временных рамках), то единственным "прекрасным инструментом" остается только что-то типа "C--", где оптимизацию кода берет на себя программер.


ну, скажем так - оригинальный компилятор под цпм тот да. малость не оптимальный. а вот если посмотреть на его кросс брата под мсдос, там уже другая тема. вообще, на форуме msx.org есть тема где сравнивали несколько компиляторов. так получилось. что старый хайтех даже не на последнем месте по результату сборки. sdcc сильно глючный, я на него даже не смотрю. а вот в результатах там есть хайтех под мс-дос, тот выдал чуть ли не самый лучший результат. вообще, у меня есть небольшой набор утилит для профика написанных именно на хайтехе. причём старом под цпм. его примущество перед всеми остальными в том, что он полностью ansi совместимый. например, местный порт solid-c это древний стандарт k&r со всеми вытекающими. мои исходники в нём не собираемы. например, я бы с удовольствием перенёс бы под спринтера свой fdisk или mkfs (эта вообще порт одноимённой утилиты из набора под юзикс). так что, зря ты так на хайтех. для цпм систем это лучший компилятор.


Quote:
Не согласен. Только что проверил на алиэкспрессе - куча ссылок и цены доступные.


я забугорным сайтам на эту тему не доверяю. лучше по чипфайнд смотреть.

Quote:
505руб - это дорогой ?. Не совместим по коду с z80 и к нему ж еще ассемблер надо изучать... не-е-е ф топку его :)


последнюю цену которую я на него видел, было около 900р. бинарно, как я помню, ez80 совместим с z80. проблему может вызвать его чрезмерная производительность. там у него что. 50мгц макс. частота? писали кажеца в каком то мануале. что это примерно как обычный зетник на 200мгц, т.е. он в 4 раза производительнее. для всяких режимов типа пентагона это может вызвать не малый батхерт.

Quote:
Все (!) железки, которые будут появляться, будут сравнивать с ПЦ. Такова уж психология людей.


конечно будут, но нужно стараться делать акцент на то. что это не пц и не попытка создать его клон.


Quote:
Или z8s18033 на 33МГц и гнать ничего не надо.

это ещё что за зверь? пригоден ли он нам на замену нашему процу на Спринтере?


Quote:
Это уже будет не Спринтер, а Спринтер II как минимум :)

например, если из режима Спринтера выкинуть эмуляцию AY и воткнуть туда какой-нить fpu то не думаю, что это уже будет Спринтер 2.


Quote:
Разрешите дополнить еще: "дыра" в 1-м окне z80 (в непрерывном пространстве памяти), прикрутка клавы с обносторонним обменом, нет аппаратных прерываний, нет аппаратного курсора и мышки (все софтовое, на что уходит просто "жопа" процессорного времени), вывод на телевизор. Да, еще не прикручен вывод текста в граф. режиме (тут каждый изгаляется сам, кто как может).


про дыру в 1м окне поподробнее можно?
про прерывания - у нас есть целый контроллер в проце - там же rs232, а он уже умеет прерывания генерить.
про телевизор. ну что тут поделать - это как ни крути, но клон Спектрума. вот и 50гц. а современные теливизоры на лцд не такая и проблема. вон в эльдорадо, в днс и всяких м-видео лцд телевизоры 15 - 19д со скартами (ргб вход) и по цене от 3000р до 8000р. выбирай любой.


23 Sep 2014 11:29
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16438
Location: Colorado
Reply with quote
Post 
Vasil Ivanov wrote:
Кста, на Спринтере была какая-то недописанная затея по CP/M-у.


и это тоже был я... :oops:

_________________
:eugeek: https://twitter.com/Shaos1973


23 Sep 2014 18:36
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16438
Location: Colorado
Reply with quote
Post 
Sayman wrote:
... что мешало разработчикам Спринтера взять на воружение именно аналог MSX-DOS 2?


Очевидно, что мешало (c) микрософта на MSX-DOS - Спринтер ведь на заграницу в том числе позиционировался - оттого и очень трепетное отношения к чужим копирайтам - например та же подгрузка ромов спректрума с диска в последней официальной версии оськи, чтобы Амстрад ненароком не обидеть...

_________________
:eugeek: https://twitter.com/Shaos1973


23 Sep 2014 18:45
Profile WWW
God

Joined: 02 Jan 2006 03:28
Posts: 1341
Location: Abakan
Reply with quote
Post 
Sayman wrote:
это ещё что за зверь? пригоден ли он нам на замену нашему процу на Спринтере?
Z180 MPU на 33МГц. Доставаем с Китая без проблем. Проблема с ним в другом - порты внутренней периферии по физическим адресам #0000-#003F (можно смещать на #40, но в любом случае #00xx).
P.S. Лежит у меня такой в коробочке, всё руки не доходят проверить в деле. :roll:


23 Sep 2014 22:00
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16438
Location: Colorado
Reply with quote
Post 
а у меня даже плата самодельная имеется с впаянным процом - тоже ждёт своего часа...

_________________
:eugeek: https://twitter.com/Shaos1973


23 Sep 2014 22:06
Profile WWW
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
Shaos wrote:
Sayman wrote:
... что мешало разработчикам Спринтера взять на воружение именно аналог MSX-DOS 2?


Очевидно, что мешало (c) микрософта на MSX-DOS - Спринтер ведь на заграницу в том числе позиционировался - оттого и очень трепетное отношения к чужим копирайтам - например та же подгрузка ромов спректрума с диска в последней официальной версии оськи, чтобы Амстрад ненароком не обидеть...

мсх в то время была уже дохлой. мелкософту было совершенно фиолетово на этот мсх и его дос. проблем небыло совершенно. тем более ник то не говорит о портировании. я говорил о создании доса которая могла бы быть совместимой.
Quote:
Z180 MPU на 33МГц. Доставаем с Китая без проблем.

ну и зачем он нам тут сдался? тогда уж лучше сразу z380, чё уж. только это всё не наш путь. на худой конец - T80...


24 Sep 2014 04:20
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1341
Location: Abakan
Reply with quote
Post 
Sayman wrote:
ну и зачем он нам тут сдался? тогда уж лучше сразу z380, чё уж. только это всё не наш путь. на худой конец - T80...
А ты ДШ полистай, там кой-какие вкусности имеются. ;)


24 Sep 2014 06:48
Profile
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Sayman wrote:
... сейчас её автор допиливает. это уже сильно напоминает ms-dos только для профи. что мешало разработчикам Спринтера взять на воружение именно аналог MSX-DOS 2?


Взять "аналог MSX-DOS 2", который надо будет допиливать, чтобы в результате получилось "уже сильно напоминает ms-dos" :) Или говоря иначе, взять CPM, но прикрутить к ней понимание FAT-а и каталогов. Тогда резонный вопрос, зачем брать какую-то ОС и прикручивать туда поддержку FAT-а, каталогов, длинных имет, не знаю еще чего-то... ?
Согласись, это нелепо. Вполне разумно сразу делать ОС, совместимую по файловой системе с MS-DOS. Все-равно все будет равняться на эту ОС. И доп. файловые системы, если в них будет необходимость, прикручивать на уровне драйверов или просто программ читалок/писалок, только эти пару операций и надо - читать, да писать.

Quote:
в замен получили бы огромный набор софта, хоть и консолького.


И какой практический интерес имеет этот "огромный набор", да к тому же консольный ?. Для консоли годится лишь ограниченный набор программ, типа компиляторов/линковщиков, может архиваторов, конвертилок каких-нить медиа-файлов (или текстов), вот практически и все.

Quote:
ну, скажем так - оригинальный компилятор под цпм тот да. малость не оптимальный.


Малость ? У меня рука не поднимется "такое" засунуть себе в программу :)

Quote:
а вот если посмотреть на его кросс брата под мсдос, там уже другая тема.


Мы же не будем запускать файлики, сделанные этим компилятором, на своей 8-ми битке, так ? Тогда какой смысл знать нам, что и как он там генерит на MS-DOS. И ты не сравнивай набор мнемоник z80 и x86. У первого он явно ущербный, по сравнению со вторым.

Quote:
на форуме msx.org есть тема где сравнивали несколько компиляторов. так получилось. что старый хайтех даже не на последнем месте по результату сборки.


А на нем весь "юзикс" собран. А на счет места - вполне возможно, что он соревновался с "sdcc" :)

Quote:
sdcc сильно глючный, я на него даже не смотрю.


Аналогично. Ф топку его. Кодогенерацию z80 для него писал тот, кто и понятия не имеет, что есть какой-то Zilog.

Quote:
а вот в результатах там есть хайтех под мс-дос, тот выдал чуть ли не самый лучший результат.
. . .
например, местный порт solid-c это древний стандарт k&r со всеми вытекающими. мои исходники в нём не собираемы.


У каждого компилятора есть сильные и слабые стороны, кто-то лучше раскручивает циклы, у кого-то арифметика лучше прописана. Но одного, у которого собраны все удачные фитчи - нет ни одного компилятора. Ты знаком с компилятором "C--" ? Вот такой инструмент нам (на 8-ми битках) нужен, мое глубокое убеждение. Можно "2+2" написать, а можно и, к примеру, архиватор наваять, который на асме писать - повесишься, а на Си - удобно, но... никакой Си не даст качественного кода, отсюда прожорливость до ресурсов компа и потеря в скорости работы. Я это все про 8-ми битки, не подумай, что про ПЦ.

Quote:
например, я бы с удовольствием перенёс бы под спринтера свой fdisk или mkfs (эта вообще порт одноимённой утилиты из набора под юзикс).


Да, я знаю, что такое "mkfs". Fdisk только для линуксовых разделов или может создавать и мелкософтские ?

Quote:
так что, зря ты так на хайтех. для цпм систем это лучший компилятор.


Да это у меня не фанатично, я мирный :)

Quote:
Quote:
505руб - это дорогой ?


последнюю цену которую я на него видел, было около 900р.


Может быть. Я в прошлом году покупал.

Quote:
там у него что. 50мгц макс. частота?
писали кажеца в каком то мануале. что это примерно как обычный зетник на 200мгц, т.е. он в 4 раза производительнее. для всяких режимов типа пентагона это может вызвать не малый батхерт.


Ну да, тактовая 50МГц. А в 4 раза и все такое... это потому, что у z80 минимальное время исполнения инструкции, например NOP занимает 4 периода, а у eZ80 минимальное время исполнения 1 период тактовой. Вот отсюда и всякие эквиваленты в 200 МГц...

Quote:
проблему может вызвать его чрезмерная производительность.


:) Знаешь, я бы совсем не против был, чтоб у Спринтера были такие "проблемы с производительностью", думаю ты тоже :)

Quote:
конечно будут, но нужно стараться делать акцент на то. что это не пц и не попытка создать его клон.


И как же ? Сделать 8-ми битный мобильный телефон, или какой-нить марсоход ? Или сделать "ПК-80" - не уверен в правильности названия сего девайса, это то, что было самой первой публикацией в журнале Радио по теме любительских компьютеров. Эта железка мигала лампочками и программировалась с кнопок. Вот уж точно, это, не ПЦ.

Quote:
про дыру в 1м окне поподробнее можно?


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

Quote:
про прерывания - у нас есть целый контроллер в проце - там же rs232, а он уже умеет прерывания генерить.


Вот такое вот извращение, или скажем, к параллельному порту прикручивать ps2-клаву или еще чего... мне как серпом по одному месту. А потом плодятся кастрированные девайсы - это не работает, то не полноценное... Есть периферия - она должна использоваться по своему назначению.

Quote:
про телевизор. ну что тут поделать - это как ни крути, но клон Спектрума. вот и 50гц. а современные теливизоры на лцд не такая и проблема. вон в эльдорадо, в днс и всяких м-видео лцд телевизоры 15 - 19д со скартами (ргб вход) и по цене от 3000р до 8000р. выбирай любой.


А качество картинки на этих лсд-телевизорах какое ? Я говорю не про картинки, размером с экран, а про текст, про букафки... 320x240 - это не то разрешение, к которому стоит стремиться, век извращения прошел (вместе с ПЦ и игрушками в графике 320x200).


P.S. А Z8S18033 - это не совсем камень, это контроллер, питалово +5 вольт. Моделька Z8S18020 питание 3.3 вольта, но тактовая уже 20 МГц. Есть несколько дополнительных мнемоник по сравнению с z80. Слей с инета "Z8018x Family MPU. User Manual.pdf", ознакомишься более подробно. Imho самое лучшее, что есть у Zilog для 8-ми биток. Хотя могу кинуть тебе на мыло. Будешь в теме. Пригодность для Спринтера - не уверен, сомневаюсь, что у z180-го внутренние порты совместимы по адресам с портами контроллера Спринтера.

P.S.S. Тебе нужен асм (под винду), помимающий недок. мнемоники z80-го, что прописаны у тебя в макросах ? Только половинки регистров "IY","IX" в нем прописываются как "IXH","IXL" и "IYH","IYL". Да к тому же в нем (асме) прописаны доп. мнемоники Z180-го. Да и еще несколько полезных фитч имеет, которые упрощают жизнь кодера. А от "zmac" я отказался, не помню из-за чего.


Чего-то не на шутку начинают разрастаться мессаги. Надо их оптимизировать, а то писателями станем :)

_________________
Vasil Ivanov
vasil-i@yandex.ru


24 Sep 2014 07:12
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16438
Location: Colorado
Reply with quote
Post 
Sayman wrote:
Quote:
Z180 MPU на 33МГц. Доставаем с Китая без проблем.

ну и зачем он нам тут сдался? тогда уж лучше сразу z380, чё уж. только это всё не наш путь. на худой конец - T80...


z380 уже совсем другая песня, к тому же недоставаемая, а z180 до сих пор продаются (он по сути z80 слегка расширенный)

_________________
:eugeek: https://twitter.com/Shaos1973


24 Sep 2014 08:21
Profile WWW
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
Василий. Hi-Tech-c v3.09 для цпм единственный для z80 ANSI совмесимый. Что тебя в нём не устраивает? его код местами даже оптимальнее, чем у sdcc. Он прекрасно управляется с long, float и double. Есть и математическая библиотека. Его старший брат - кросс компилятор под ms-dos генерирует более интересный код. И этот код прекрасно работает в цпм (и на профи в профи-дос). Лично меня этот компилятор усраивает. Да, индексные регистры и передача аргументов через стэк немного напрягает, но другой альтернативы нет. что такое си-- даже смотреть не хочу. под z80 его нет? значит не наш путь.
Касательно MSX-DOS2 - что плохого в системе, которая совместима с другой? ты забыл, что мс-дос тоже вышла из цпм? не забываем, что даже в мс-дос по-прежнему сохранена точка по адресу 5 для совместимости. а ещё раздражает "буфер" в заголовке exe файла в 512 байт. Он там как бы нафиг не сдался. и дело не в том, чтобы прикрутить к цпму фат с папками и быть совместимым по этому фату. фишка тут - иметь совместимость с уже написанным софтом. и да, архиваторы, компиляторы, линковщики. вот например, есть линкер который может из ком файла сделать spr файл. т.е. релоцируемый ком файл. в дсс этого ничего нету. написать это за не имением нормального си будет крайне сложно.
fdisk у меня написан для профи под pq-dos, но разделы может создавать любые, хоть фат16, хоть нтфс, хоть фрибсд. форматировать не умеет, да и не должен уметь. утилита mkfs из юзикса - соответственно создаёт файловую систему юзикса.

что за асм под винду? не as80 случаем? я сильно привык к возможностям м80 подобных. например, меня сильно корбит, когда вижу запись 16тиричного числа через решётку. а ещё, если у компилятора нет фишки по типу phase/dephase, то там уже делать нечего.
Quote:
А качество картинки на этих лсд-телевизорах какое ? Я говорю не про картинки, размером с экран, а про текст, про букафки... 320x240 - это не то разрешение, к которому стоит стремиться, век извращения прошел (вместе с ПЦ и игрушками в графике 320x200).

Качество картинки прекрасное. только разрешение 320на256 у нас.


24 Sep 2014 08:55
Profile
God

Joined: 02 Jan 2006 03:28
Posts: 1341
Location: Abakan
Reply with quote
Post 
Не мне написано, однако...

Sayman wrote:
что такое си-- даже смотреть не хочу. под z80 его нет? значит не наш путь.
Зря. Василий дело говорит.

Sayman wrote:
...а ещё раздражает "буфер" в заголовке exe файла в 512 байт. Он там как бы нафиг не сдался...
В MS-DOS это не буфер, а таблица релокации, и не обязательно 512 байт, не меньше - точно, но может быть больше.

Sayman wrote:
... например, меня сильно корбит, когда вижу запись 16тиричного числа через решётку...
Вижу, камень в мой огород (почти четверть гектара, и камней там и так хватает ;)), так вот, меня до сих пор коробит от 0xffffh и подобного с Си, ибо начинал как раз с ZEUS Z80 Assembler, где запись через # для hex была и есть единственная и нормальная.
Так что это дело вкуса и привычек. ;)


24 Sep 2014 10:38
Profile
Senior

Joined: 05 Oct 2009 20:44
Posts: 136
Location: 212.164.105.5
Reply with quote
Post 
jdigreze wrote:
Не мне написано, однако...

Sayman wrote:
что такое си-- даже смотреть не хочу. под z80 его нет? значит не наш путь.
Зря. Василий дело говорит.

Sayman wrote:
...а ещё раздражает "буфер" в заголовке exe файла в 512 байт. Он там как бы нафиг не сдался...
В MS-DOS это не буфер, а таблица релокации, и не обязательно 512 байт, не меньше - точно, но может быть больше.

Sayman wrote:
... например, меня сильно корбит, когда вижу запись 16тиричного числа через решётку...
Вижу, камень в мой огород (почти четверть гектара, и камней там и так хватает ;)), так вот, меня до сих пор коробит от 0xffffh и подобного с Си, ибо начинал как раз с ZEUS Z80 Assembler, где запись через # для hex была и есть единственная и нормальная.
Так что это дело вкуса и привычек. ;)

если посмотреть на релоцируемость, то в цпм или мпм битовая карта размеров 256байт при линковке клеилась в конце файла. в дсс, судя по докам и исходнику, релоцируемость отсутствует. поэтому этот буфер тут ни к чему.
запис hex в асме по виду 20h или там ffffh более стандартно. решётка, кажется, чисто спектрумовая фишка. обозначения hex через 0x или через h более распространены, в том числе на пц. решётка для меня вообще обозначение комента, если на линуховый шелл смотреть :D


24 Sep 2014 10:53
Profile
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Sayman wrote:
Hi-Tech-c v3.09 для цпм единственный для z80 ANSI совмесимый. Что тебя в нём не устраивает? его код местами даже оптимальнее, чем у sdcc. Он прекрасно управляется с long, float и double. Есть и математическая библиотека. Его старший брат - кросс компилятор под ms-dos генерирует более интересный код. И этот код прекрасно работает в цпм (и на профи в профи-дос). Лично меня этот компилятор усраивает.


И меня тоже устраивает. Если уж ты сидишь на Спринтере, напиши под него хайтековские библы, будешь на CP/M (или MS-DOS) компилить спринтеровские программки.

Quote:
но другой альтернативы нет.


Это и есть ответ на все вопросы и споры. Давай на этом и закончим.

Quote:
что такое си-- даже смотреть не хочу. под z80 его нет? значит не наш путь.


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

Quote:
Касательно MSX-DOS2 - что плохого в системе, которая совместима с другой? ты забыл, что мс-дос тоже вышла из цпм? не забываем, что даже в мс-дос по-прежнему сохранена точка по адресу 5 для совместимости.


Да, в MS-DOS столько хлама и костылей висит для сохранения совместимости чуть ли не с первой своей версией, что нормальному челу в здравом уме "такого" упертого фанатизма никогда не понять. И ничего плохого в MSX-DOS2 и ее совместимости нет.

Quote:
а ещё раздражает "буфер" в заголовке exe файла в 512 байт. Он там как бы нафиг не сдался.


Его оставили для того, чтобы ПК-утилы проверки дисков (FAT-а) не ругались на спринтеровские exe-шники. А в самом Спринтере exe-заголовок мог составлять 22 байта (если я точно помню).

_________________
Vasil Ivanov
vasil-i@yandex.ru


24 Sep 2014 13:41
Profile
Doomed
User avatar

Joined: 11 Dec 2003 15:34
Posts: 420
Reply with quote
Post 
Sayman wrote:
например, меня сильно корбит, когда вижу запись 16тиричного числа через решётку.


Это не проблема, он поддерживает три формата записи чисел.

Quote:
а ещё, если у компилятора нет фишки по типу phase/dephase, то там уже делать нечего.


И зачем бы я стал держать у себя такой асм ?. Ну ты хоть бы в сорцы FM когда-нибудь глянул что-ли, хотя бы для разнообразия. А то все просят сорцы... как оказывается складировать у себя, скорей всего на приданное (больше на ум ничего не приходит). Это получается как с "огромным набором программ" - лишь бы было и не важно для чего... не понятно.

Quote:
вот например, есть линкер который может из ком файла сделать spr файл. т.е. релоцируемый ком файл. в дсс этого ничего нету.
написать это за не имением нормального си будет крайне сложно.


Хочу тебе сказать, что ты меня удивил, правда, я никак не ожидал от тебя такого заявления. Почему у тебя Си (и как выясняется по ходу дискуссии, только Си) панацея от всех бед ?.
Мне не хочется этого делать, но придется тебя неприятно удивить - Шаос писал менегер библ, я прикрутил генерацию таких библ - глянь, когда нечего будет делать, в архив "Solid C" на доку к "ld.exe", по теме DLL-ек. Кста, все написано на чистом асме, сорри.

Quote:
запис hex в асме по виду 20h или там ffffh более стандартно. решётка, кажется, чисто спектрумовая фишка. обозначения hex через 0x или через h более распространены, в том числе на пц. решётка для меня вообще обозначение комента, если на линуховый шелл смотреть.


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

Фитчи асма. В нем нет "абсолютно всего", но мне хватает на все случаи жизни.

Code:
      Особенности ассемблера ASMPlus


-----------------------------------------------------------
  Ошибки
-----------------------------------------------------------

- Если в самом начале пустой строки стоит одиночное число, то эта ошибка синтаксиса
  не отслеживается.

- Псевдо-операция  db ""  (символ стрелки вправо, код 1Ah) выдает ошибку синтаксиса.

- Псевдо-операция  db """  выдает ошибку синтаксиса.



-----------------------------------------------------------
  Недокументированные команды
-----------------------------------------------------------

Поддерживаются все недок. команды.

Половинки регистров обозначаются как: iyh, iyl, ixh, ixl.

Поддерживается мнемоника "slia c" (аналог мнемоники "sll c").



-----------------------------------------------------------
  Макросы
-----------------------------------------------------------

Пример записи:

   macro   add_hl_a
   add   a,l
   jr   nc,.loc
   inc   h
.loc:   ld   l,a
   endm

В макросах для удобства лучше применять локальные метки (имена меток начинаются с точки),
не будет конфликтов при совпадении одинаковых имен меток в асм-файлах проекта пользователя.



-----------------------------------------------------------
  Фитчи
-----------------------------------------------------------

1). Опция ассемблера "-l" добавляет вывод в конец LST-файла значения всех меток. В этой
    таблице флаг 'X' означает метку, к которой не было обращения.


2). Метка должна начинаться только с начала строки, иначе считается ошибкой.
    Метка может заканчиваться двоеточием ":" или не иметь его вовсе.


3). Директивы не должны начинаться с начала строки, нужен хотя бы один разделительный
    пробел (или табуляция).


4). Директива "EXPORT метка" выводит в ".exp" файл значение указанной метки.
    Директива может стоять в любом месте асм-файла. Файл ".exp" автоматически
    выводится при наличии в асм-файле данной директивы.
    Для вывода нескольких меток, для каждой необходимо прописать свою директиву
    "export". Метки выводятся в ".exp" файл в том порядке, в каком стоят описывающие
    их директивы экспорта.
    По опции ассемблера "-s" в ".sym" файл выводятся сразу все метки компилируемого
    асм-файла.


5). Для директив повторений REPT, DUP используются только свои закрывающие директивы,
    соотв. ENDR и EDUP. В оригинальной версии асма (SjASM Z80 Assembler v0.39g1) для
    REPT применялось ENDM.


6). Добавлена директива DISPLAY. Вывод строки на экран. Опции директивы задают
    формат вывода чисел:

    /D - десятичный
    /H - шестнадцатиричный
    /A - вывод в обеих форматах

    Пример:

      org   100h
    testlabel:
      ;...некоторый код...
      ret
      DISPLAY "--the some program-- by me"
      DISPLAY "TESTLABEL address is: ", /a, testlabel

    Выведет на экран следующие строки:

    > --the some program-- by me
    > TESTLABEL address is: #0100, 256


7). Строчные и заглавные буквы в именах меток различаются (как в языке Си).


8). Понимает локальные метки и макро-записи.


9). Понимает си-комментарии: // и /* */


10). Понимает запись чисел как: 0x00, #00, 00h


11). Псевдо-операцией "=" можно переопределять значение уже существующей метки.
     Если метка не существует, выдается ошибка.


12). Псевдо-операция "DB". Для выражений, использующих символы в кавычках, необходимо
     использовать одинарные кавычки. При использовании двойных кавычек - это считается
     строкой и будет выдана ошибка в выражении. То же правило в различии одинарных и
     двойных кавычек, что и в языках C, C++. Если не используются выражения, то можно
     применять любые кавычки. Пример:

      db   'C'-'A'      <- верный синтаксис
      db   "C"-"A"      <- не верный синтаксис

     Это ограничение (неудобство) связано с тем, что парсер асма не выдает
     типы (строка/символ) выделяемых токенов и каждый участок кода продвигает
     входной поток сам.


13). Псевдо-операция "DC", в отличии от "DB", работает только для отквоченных строк.
     Каждый последний символ строки идет с установленным 7-м битом.

      dc   "hello"      ; сохр.как:  "hell","o"+80h


14). Псевдо-операция "DZ" то же, что и "DB", только в конец строки из отдельных байтов
     или отквоченной строки добавляется ноль.

      dz   1      ; сохр.как:  1,0
      dz   3,4      ; сохр.как:  3,4,0
      dz   "hello"   ; сохр.как:  "hello",0


15). Псевдо-операция "DX" то же, что и "DB", только каждый отдельный байт или символ в
     строке хорится по "xor 80h" (уст. 7-й бит).

      dx   1      ; сохр.как:  81h
      dx   "ABC",0      ; сохр.как:  0C1h,0C2h,0C3h,80h


16). Псевдо-операция "DD" (4 байта).



17). Правильно сохраняет в памяти отквоченные 2-х символьные строки, т.е. в мл. разряд
     идет правый символ, в ст. разряд идет левый символ. Пример:

      ld   hl,"HA"

     Мнемоника сохранится в памяти как: 21h,41h,48h. Ассемблеры "zmac.exe" и "z80asm.exe"
     сохраняют наоборот.


18). Поддержка формата записи мнемоник LD HL,DE (как ld h,d : ld l,e).


Пару маленьких примеров юзания фитч.
Code:
   ld   a,1

;   macro   add_hl_a
;   add   a,l
;   jr   nc,.hup
;   inc   h
;.hup:   ld   l,a
;   endm

mod0:
   ds   500


   dup   2+8
   db   55h
   edup
   ;endm
   ;endr

   ld   hl,0
mod1:


   if ((mod1 - mod0) > 512)
      display "\t*** Превышен размер кода:  ", /d, mod1 - mod0, " байт ***\n"
   endif

   org   0x8000
testlabel:
   ;...некоторый код...
   ret
   display "--the some program-- by me"
   display "TESTLABEL address is: ", /a, testlabel


Применение структур.

Code:
   struct   color
red   db   0         ;+0
green   db   0         ;+1
blue   db   0         ;+2
   ends

   ; обращение к членам структуры COLOR
   ld   a,color         ; 3 размер структуры
   ld   a,color.red      ;+0  смещ. до члена
   ld   a,color.green      ;+1
   ld   a,color.blue      ;+2



; Пример 2. Вложение структур.

   struct   bpb
loc1   dw   0         ;+0
   dw   0
loc2   db   0         ;+4
loc3   dw   0         ;+5
loc4   color            ;+7,8,9  влож. структура
   ends

   ; обращение к членам структуры BPB и членам вложенной COLOR
   ld   a,bpb         ; 10 размер структуры
   ld   a,bpb.loc1      ;+0  смещ. до члена
   ld   a,bpb.loc2      ;+4
   ld   a,bpb.loc3      ;+5
   ld   a,bpb.loc4.red      ;+7
   ld   a,bpb.loc4.green   ;+8
   ld   a,bpb.loc4.blue      ;+9

_________________
Vasil Ivanov
vasil-i@yandex.ru


24 Sep 2014 14:00
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 70 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.