Вход

Просмотр полной версии : Преодоление барьера машинного кода. Hello world на zx spectrum , и всё такое прочее



ZX_NOVOSIB
04.07.2018, 19:22
Мучил как-то намедни гугл запросами "Hello world ассемблер zx spectrum" и подобными. И оказалось, что на русском языке в первую очередь всплывает статья на хабре. Статья совершенно невменяемая. Уже с первых строчек становится не по себе:

"В этом посту я поведаю о том, как использовать и настраивать эмулятор Fuse под линуксом, а также расскажу, как написать простейшую программу в машинных кодах под ZX Spectrum и запустить её в эмуляторе."

Какая настройка? Какой Fuse? Какой линукс? Можно сразу закрывать вкладку. И лучше сразу это сделать, ибо если читать дальше, то можно ощутить себя шизофреником. Прокрутив долгое и мучительное описание настройки Fuse "под линукс", мы видим:


Первым делом нам нужно поместить в регистр «A» число Cw (в десятичной системе счисления — 2). Для выполнения многих команд обрабатываемые данные должны быть занесены в регистр «A», прежде чем будут выполняться следующие действия.

Dp AC // В регистр «A» помещаем число Cw

После же нам надо вызвать функцию печати символа — «BG AB».
Так реализуем же это посредством использования команды «Mn». Следует обратить внимание на то, в каком порядке идут байты. В данном случае это Big Endian, то бишь порядок «от старшего к младшему» из байтов.

Mn ab bg // Вызываем функцию печати символа — «BG AB».Занавес. Это извращение похлеще зоофилии.

А ведь в поиске это всплывает первым делом. Надо это как-то исправить. Я даже решил написать статью. Но потом понял, что нет никакого простого инструмента для написания хелло ворлд на асме speccy. Чтобы по двойному щелчку что-то открывалось, и чтобы там сразу можно было начать писать код. А потом по нажатию какой-нибудь клавиши сразу запускался эмуль с подключенной к нему TAP'кой или SCL, содержащей только что написанную программу.

Может кто-то сделает архив, который бы можно было распаковать в папку к Unreal или к Спектакулятору, и по двойному щелчку запускался бы блокнотик с подсветкой синтаксиса, чтобы SjASMPlus , и чтобы всё сразу настроено, и даже рыба сразу уже открыта, и в этой рыбе уже прописаны вот эти все странные непонятные неспектрумовские строчки типа "device zxspectrum128", "create trd", "ёклмн" и прочие? Чтобы никаких настроек, батников, указания путей и т.п., чтобы "всё уже было".

В качестве блокнотика я не знаю что лучше. Но может есть что-то, что по щелчку на метке кидало бы на метку, как в асме Эмузвина? (Сам Эмузвин не подходит по ряду причин: глючно-сырой; юзеры не всегда хотят ставить ещё один эмулятор, они уже привыкли к unreal или спекулятору; DEFM не корректно понимает, - будет конфуз если новичок начнёт вбивать примеры из книжки Евдокимова/Капульцевичей) А если бы блокнотик умел ещё открывать в двух вкладках один документ, и автоматом вносил бы изменения одной вкладки и в другую вкладку, то было бы вообще чудесно. Но на крайняк подойдёт любой.

Shiny
04.07.2018, 19:39
хоспаде, нашел чо читать. это фанат wct писал.

Какой барьер то?

CLR
04.07.2018, 19:41
Хм. Я даже затрудняюсь сказать, что из этих двух большее извращение - установка FUSE под линуксом (что, кстати как раз делается в два клика, разве что ромы надо доложить) или необходимость в два клика писать на асме Z80 хелловорды некоторому, подозреваю сферическому в вакууме юзеру с нулевым опытом в спектруме (зачем это ему вообще???).

Shiny
04.07.2018, 19:44
Может кто-то сделает архив, который бы можно было распаковать в папку к Unreal или к Спектакулятору, и по двойному щелчку запускался бы блокнотик с подсветкой синтаксиса, чтобы SjASMPlus , и чтобы всё сразу настроено, и даже рыба сразу уже открыта, и в этой рыбе уже прописаны вот эти все странные непонятные неспектрумовские строчки типа "device zxspectrum128", "create trd", "ёклмн" и прочие? Чтобы никаких настроек, батников, указания путей и т.п., чтобы "всё уже было".

подсветка синтаксиса зазря мешает. Из прочего: есть установленный Spectaculator и настроенный EmEditor с ужясм, компиляция совершается кликом мыши. Запуск .SNA еще одним, нафиг нужен .trd? TRD собирается, когда программа готова.

Лень настраивать? Spin в помощь.

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

Fuse плох тем, что у него громоздкий и неудобный отладчик.

ZX_NOVOSIB
04.07.2018, 20:57
Какой барьер то?
Есть такой. Просто те, кто его преодолел, забывают, что он есть. Это как научиться кататься на велосипеде, - потом не понимаешь, как можно было не уметь ))


или необходимость в два клика писать на асме Z80 хелловорды некоторому, подозреваю сферическому в вакууме юзеру с нулевым опытом в спектруме (зачем это ему вообще???)Надо. Зачем-то же писали книги типа "Как написать игру на ассемблере". Значит надо. Только там gens описан, много воды утекло, сейчас другое актуально, а не gens. Нужно решение, работающее искаропки. Вот для бейсика есть BASin , скачал, открыл - сразу пишешь, потом сохраняешь в тап. Всё легко, быстро, понятно. Надо точно такое же, но ещё проще, быстрей и для асма ))


Лень настраивать? Spin в помощь.
Дело не в лени. Дело в минимальности телодвижений. Асм в Spin'e я видал, куча моментов выбесила по сравнению с тем же Эмузвином.

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

Если никто не поможет, придется писать статью с ориентиром на Эмузвин ))
Не хотелось бы. Вон на хайпе есть какая-то "хелловорлдная" статья, там товарищ Грачёв молвил было слово за Эмузвин, так сразу начались жалобы, что мол у меня Unreal ((( и всё такое прочее. Не хотят некоторые ставить второй эмуль, им нужен один эмуль и к нему какая-то удобная приблуда, чтобы на асме писать.

Shiny
04.07.2018, 21:06
Хехе, тут зубов бояться - в рот не давать. Вопрос в эмуляторе, который удобнее.

Spin нужно настроить, чтобы он работал, но встроенный ассемблер убогий.
EmuZwin - кому как, мне не понравился.
Unreal - полное дерьмо, неудобный.

Меня устраивает описанная связка, но в некоторых случаях приходится прибегать к другим эмуляторам. Кстати, "хелловорлдный" подход не так уж и хорош, поскольку придется изучать опкоды z80 и тонкости zx.

Bedazzle
04.07.2018, 21:09
Не хотят некоторые ставить второй эмуль, им нужен один эмуль и к нему какая-то удобная приблуда, чтобы на асме писать.

Кто хочет - ищет возможности, кто не хочет - причины.

ZX_NOVOSIB
04.07.2018, 21:11
Меня устраивает описанная связка
А если ты эту свою настроенную связку заархивируешь, то она будет работать на других компах? Или она к реестру и т.п. привязана?..

Shiny
05.07.2018, 04:08
нет

Vadim
05.07.2018, 05:53
Зачем-то же писали книги типа "Как написать игру на ассемблере". Значит надо.

Совершенно бредовые книги. Те кто их писал совершенно не умели программировать раз. Не представляют как устроен движок игры два. Книги такие были нужны, но к сожалению в 90х было так как я описал.

Shiny
05.07.2018, 07:09
Совершенно бредовые книги

зря. вполне вменяемый материал.

Vadim
05.07.2018, 07:44
вполне вменяемый материал.
Абсолютно невменяемый, я их видел в момент выхода. Умея программировать и имея опыт программирования я оценил какой там был написан трэш. И не только я. И было непонятно, для кого такое вообще написано? Что интересно, были и другие авторы, не умея программировать на ассемблере учили других.

jerri
05.07.2018, 08:13
Vadim, а давай так.
вот ты говоришь что эти книги полная хрень
а можешь тогда взять например электронную версию книги и написать к ней комментарий
или даже в идеале написать свою?

Vadim
05.07.2018, 08:21
а можешь тогда взять например электронную версию книги и написать к ней комментарий
или даже в идеале написать свою?

Конечно могу, но у меня нет времени вообще. Я кучу дел не сделал вне спектрума, а ты мне предлагаешь книгу писать? Я на спектруме кучу всего недоделал, а доделать надо. И всё не могу взяться.

Shiny
05.07.2018, 08:56
Написать свою сложно, найдется немало подводных камней.

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

Замена решению - pasmo, который вряд ли кто осиливает, даже создание .tap

Или, как вариант - не кросс-ассемблеры, а те, что есть на носителях. Но придется читать массу документации для Zeus,Storm,Gens. Но, как видно, для начинающих чтение доков не их конек.

В общем, я видел примеры печати текста Hello,world! под разные платформы - KC85-4, Sinclair QL, Atari ST, и это был явный не подарок.

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

Начнем с простого


;compile with sjasmplus
device zxspectrum128
ORG #6000
begin


;костылек ужясма
LD HL ,$5CB6
LD ($5C4F),HL
LD DE ,$15AF
LD BC ,$0015
EX DE ,HL
LDIR
EX DE ,HL
DEC HL
LD ($5C57),HL
INC HL
LD ($5C53),HL
LD ($5C4B),HL
LD (HL) ,$80
INC HL
LD ($5C59),HL;E-LINE

;2
ld hl,$15C6
ld de,$5C10
ld bc,$0E
ldir

;открытие потока
ld a,2
call $1601

ld a,22
rst 10h

ld a,2
rst 10h

ld a,2
rst 10h

ld de,msg_b
ld bc,msg_e-msg_b
call 8252 ; print our string,DE=adr,BC=len

jr $
msg_b:
db "Hello,Spectrum!"
msg_e:
end
display /d,end-begin
savesna "hlw.sna",begin





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

забыл упомянуть Zeus под венду. Кто-нить использует?

DenisGrachev
05.07.2018, 08:59
Может кто-то сделает архив, который бы можно было распаковать в папку к Unreal или к Спектакулятору, и по двойному щелчку запускался бы блокнотик с подсветкой синтаксиса, чтобы SjASMPlus , и чтобы всё сразу настроено, и даже рыба сразу уже открыта, и в этой рыбе уже прописаны вот эти все странные непонятные неспектрумовские строчки типа "device zxspectrum128", "create trd", "ёклмн" и прочие? Чтобы никаких настроек, батников, указания путей и т.п., чтобы "всё уже было".

В качестве блокнотика я не знаю что лучше. Но может есть что-то, что по щелчку на метке кидало бы на метку, как в асме Эмузвина? (Сам Эмузвин не подходит по ряду причин: глючно-сырой; юзеры не всегда хотят ставить ещё один эмулятор, они уже привыкли к unreal или спекулятору; DEFM не корректно понимает, - будет конфуз если новичок начнёт вбивать примеры из книжки Евдокимова/Капульцевичей) А если бы блокнотик умел ещё открывать в двух вкладках один документ, и автоматом вносил бы изменения одной вкладки и в другую вкладку, то было бы вообще чудесно. Но на крайняк подойдёт любой.

В своё время тоже не хватало такого инструмента. Особенно на фоне коммодора 64, там есть, например, Kickass IDE. Сразу оболочка с закладками, асм, редактор спрайтов,эмуль,редактор карт, встроенный хелп с описанием каждой команды асма, всё по щелчку собирается-запускается и.т.п

Сделана на основе Crimson Editor, вот возьмись со своеё энергией и сделай также под спек!

http://2.bp.blogspot.com/-4_atTGiJLsc/US93MMef9-I/AAAAAAAADh4/WB4vDUCpwZo/s1600/kickass+IDE.png

Shiny
05.07.2018, 09:10
Для Спектрума есть похожее IDE, несколько глючное. Вроде Asm80.

CodeMaster
05.07.2018, 10:16
Преодоление барьера машинного кода.

Если позволите, вставлю свои 5 копеек по поводу формулировки названия темы. Исходя из смысла первого поста и дальнейшего обсуждение её следовало бы назвать "Преодоление барьера программирования на ассемблере". Хотя, конечно, на Z80 машинный код сравним по сложности с ассемблером, но на других платформах может быть не так, и ИМХО это название будет более корректным.

Vadim
05.07.2018, 10:24
Хотя, конечно, на Z80 машинный код сравним по сложности с ассемблером,
Да ну? По мне так используя хороший транслятор с ассемблера, например М80, писать на нём ну просто во много раз проще, чем тыкать машинные коды в отладчике (хотя в CP/M отладчики позволяли писать в асме, а вот на спектруме не припомню таких).

jerri
05.07.2018, 10:39
Да ну? По мне так используя хороший транслятор с ассемблера, например М80, писать на нём ну просто во много раз проще, чем тыкать машинные коды в отладчике (хотя в CP/M отладчики позволяли писать в асме, а вот на спектруме не припомню таких).

sts?
mons?

Vadim, кстати по комментариям
можно выкладывать поглавно

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

Shiny
05.07.2018, 10:58
так, если я не ошибаюсь, CityAce собирался писать материал для программирования?

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


обосрать ты обосрал, а альтернативы не указал.

всегда в Африке найдется эскимос, что будет учить папуасов кататься на лыжах xD

Labrador
05.07.2018, 11:23
Простите, возможно не вникнул в суть проблемы. Но если разговор о средстве разработки, то есть zDevStudio - мне идея очень понравилась, но развивать его вроде перестали.

CodeMaster
05.07.2018, 11:35
Да ну?

Ну, может машкод на Z80 и сложнее, просто на ВМ1 я машинный код осилил для простенького программирования, а ассемблер не смог :-(

JV-Soft
05.07.2018, 11:46
Любить спек и писать в эмулях на пс , вы все извращенцы :biggrin:
Наше ламповое теплое.

Shiny
05.07.2018, 11:48
платное:
http://www.oshonsoft.com/z80.html

но кого это останавливало ?(:

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


Любить спек и писать в эмулях на пс , вы все извращенцы :biggrin:
Наше ламповое теплое.

можно подумать, есть большой выбор.

JV-Soft
05.07.2018, 11:53
можно подумать, есть большой выбор.
Любовь к чему либо или к кому либо разламает преграды , ты же был юным ,должен помнить )

Синтетическое программирование ,конкурсы на синтетических экранах пс в эмулях , эх,эх,эх...

Shiny
05.07.2018, 12:00
Хорошо, как послушать такое мнение, так сразу и забросить разработку на публику (: несерьезно это.

JV-Soft
05.07.2018, 12:02
Хорошо, как послушать такое мнение, так сразу и забросить разработку на публику
Я не о том ,а о том ,что мало кто поддержывает тот дух и движение в том формете в котором это все зародилось...

Dwa83
05.07.2018, 13:04
Но потом понял, что нет никакого простого инструмента для написания хелло ворлд на асме speccy. Чтобы по двойному щелчку что-то открывалось, и чтобы там сразу можно было начать писать код.

Я по этому поводу заморочился, и написал свою приблуду.
Открыл, сразу написал код, нажатием кнопочки откомпилил.
http://zx-pk.ru/attachment.php?attachmentid=65667&d=1530784636

Нажатием кнопочки сохранил код.
http://zx-pk.ru/attachment.php?attachmentid=65668&d=1530784646

Единственное, что потом требуется - это чтоб в эмуляторе были пункты типа "загрузить бинарник по адресу такому-то".
http://zx-pk.ru/attachment.php?attachmentid=65669&d=1530784655

Затем randomize usr. Эти лишние действия - пара секунд)
http://zx-pk.ru/attachment.php?attachmentid=65670&d=1530784666

Для хэловорлдов вполне достаточно).

И ещё, а чем плох GENS? Ибо я только генс до этого и знал, и в своей проге я синтаксис именно генса сделал. И вышеупомянутую книгу "как написать игру" очень любил). Может с точки зрения уже умеющего программировать там и бред написан, но, мне кажется, для новичка в самый раз. А потом при наличие опыта можно и другие издания почитать, никто не запрещал).

____________________
PS: Если захочется поюзать потестить прогу, тут лежит
http://zx-pk.ru/threads/28681-slovobludie-nebolshaya-programma.html

goodboy
05.07.2018, 13:30
а чем плох GENS?
он находится в основной памяти (проблемно для больших проектов)
хотя такая большая игра как НЛО1 написана вроде в нём
...............
а так действительно что мешает набирать простенькие программы например в Tasm ?

r3d
05.07.2018, 13:31
Писал радиолюбительские программы (для работы SSTV, аппаратный журнал). Еще делал программу для нотариуса (подготовка документов, печать и т.д.). Использовал GENS/MONS.

Dwa83
05.07.2018, 13:37
он находится в основной памяти (проблемно для больших проектов)
Я имел ввиду чем он плох, если использовать его аналог на PC. У автора темы вроде нет задачи писать именно на родном железе, насколько я понял.

Vadim
05.07.2018, 13:40
sts?
mons?

MONS? Ты серьёзно? Ты его видел? Специально для тебя пишу - там НЕЛЬЗЯ программировать на асме. Это просто отладчик, без возможности ввода программы на АСМЕ, о чем я и написал. А вот BUGSID может.

По СТС ничего не могу сказать - никогда не юзал.

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


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

JV-Soft
05.07.2018, 13:42
По СТС ничего не могу сказать - никогда не юзал.
И писать можно в sts ,но не удобно , больше скорее отладка и правка кода.
На реале с тасмом и аласмом вещь незаменимая

Vadim
05.07.2018, 13:45
Ну, может машкод на Z80 и сложнее, просто на ВМ1 я машинный код осилил для простенького программирования, а ассемблер не смог

очень очень странно... Программирование в машкодах это как бы для мазохистов. В асмах, помимо команд микропроцессора есть ещё команды транслятору, если их освоить - можно легко писать на соотвествующем асме. Система команд ВМ1 проста для кодирования, это да. В универах при изучении этих МП студенты делают лабы набивая программы в мониторе. На Z80 это весьма и весьма непросто, сложнее. Хотя я видел таблицы квадратные, для поиска ОП кода для 8080.

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


И писать можно в sts ,но не удобно , больше скорее отладка и правка кода
т.е. он позволяет вводить команды процессора мнемониками? "JP 8000" к примеру?

ZX_NOVOSIB
05.07.2018, 14:03
Совершенно бредовые книги. Те кто их писал совершенно не умели программировать раз. Не представляют как устроен движок игры два. Книги такие были нужны, но к сожалению в 90х было так как я описал.
Если рассматривать книги с точки зрения их названия (Как написать игру), то да, книги бредовые, аж жесть. Особенно бейсик-книга, там вообще дичь, т.е. вообще не понятно нафига она, если изучать бейсик, то на то время были книги и получше (например "Диалекты бейсика" от Ларченко-Родионова). Каких-то полезных концепций игрописательства там нет. Ценность разве что сейчас коллекционная. Ассемблерная книга уже пободрей, само построение книги бредовое, но там с азов введение в ассемблер, многое разжевано, с примерами, пошагово. В том и ценность. А что лучше? Разве что "Программирование в машинных кодах и на языке ассемблера" от Инфорком?.. Я х.з.


В своё время тоже не хватало такого инструмента. Особенно на фоне коммодора 64, там есть, например, Kickass IDE. Сразу оболочка с закладками, асм, редактор спрайтов,эмуль,редактор карт, встроенный хелп с описанием каждой команды асма, всё по щелчку собирается-запускается и.т.п
Хоть кто-то меня понял )


Для Спектрума есть похожее IDE, несколько глючное. Вроде Asm80.
Надо будет глянуть.


Исходя из смысла первого поста и дальнейшего обсуждение её следовало бы назвать "Преодоление барьера программирования на ассемблере". Хотя, конечно, на Z80 машинный код сравним по сложности с ассемблером, но на других платформах может быть не так, и ИМХО это название будет более корректным.
Может и так )


так, если я не ошибаюсь, CityAce собирался писать материал для программирования?
Материал написать может кто угодно. Даже я могу написать (но только преодоление барьера, не дальше). Проблема в том, что нужно кучу всего скачивать, настраивать, прописывать и т.д. А нужно - бац! - и всё :-)


Простите, возможно не вникнул в суть проблемы. Но если разговор о средстве разработки, то есть zDevStudio - мне идея очень понравилась, но развивать его вроде перестали.
Глянем.


Любить спек и писать в эмулях на пс , вы все извращенцы
Наше ламповое теплое.
Даже в 80/90-ые многие zx-игры написаны отнюдь не на zx )) Про сейчас я молчу. Давай напиши игру уровня диззи-7, кастлевании, меча ианны и т.д. юзая только спектрум, посмотрим. На самом спектруме можно только что-то простецкое кодить.



Единственное, что потом требуется - это чтоб в эмуляторе были пункты типа "загрузить бинарник по адресу такому-то".
Вот это и проблема. В спекуляторе нет (самый адекватный эмуль), в унреале есть, но с заморочками.


а так действительно что мешает набирать простенькие программы например в Tasm ?
Да можно и в GENS, никто не спорит, но неудобно это всё, и экранчик 256*192.

Shiny
05.07.2018, 14:12
Я не о том ,а о том ,что мало кто поддержывает тот дух и движение в том формете в котором это все зародилось...

седомудие это.

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


Проблема в том, что нужно кучу всего скачивать, настраивать, прописывать и т.д. А нужно - бац! - и всё :-)

мне не мешает уже. В чем проблема? в готовых тулзах?

Dwa83
05.07.2018, 14:20
Вот это и проблема. В спекуляторе нет (самый адекватный эмуль), в унреале есть, но с заморочками.
Хотел я добавить сохранение TZX, но пока увы. Обхожусь эмулём EightyOne 1.8, там загрузить код в память из файла пару кликов. А после в нём же в менеджере ленты спряпаю TZX, сохраняю, и можно запускать на других эмулях для проверки.

JV-Soft
05.07.2018, 14:45
т.е. он позволяет вводить команды процессора мнемониками? "JP 8000" к примеру?
Да ,и даже метки в текстовом формате поддерживает из аласм если надо.

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


Давай напиши игру уровня диззи-7, кастлевании, меча ианны и т.д. юзая только спектрум, посмотрим.
А почему нет ? Посмотри на игры ,демо и софт 90-х , все было написано исключительно на ZX, и прекрасно написано , а вот с развитием эмуленда....

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


седомудие это.
Думаешь ? Ты любишь на вилосипеде прокатится или на эмуле велосипеда ? На рыбалку поехать ,или на пс в нее подуплить )
В прочем кто разницы не видит ,о чем спорить...

ZX_NOVOSIB
05.07.2018, 15:22
Нужен IDE-онлайн ! ))

Чтобы работало во всех популярных браузерах.

С кнопочками "TAP", "SCL", "SNA", которые бы компиллили в код, код упаковывали в нужный формат и отдавали на загрузку юзеру.

Даже эмуль спека как на viva-games.ru не обязательно интегрировать. Всё равно по кнопочке "TAP" сразу получим TAP, а по двойному щелчку запустится ассоциированный эмулятор.

Shiny
05.07.2018, 15:35
Думаешь ? Ты любишь на вилосипеде прокатится или на эмуле велосипеда ? На рыбалку поехать ,или на пс в нее подуплить )
В прочем кто разницы не видит ,о чем спорить...

Есть разница между велисапедом "Кама" и эмулятором. Есть разница между одним из своих первых компьютеров и между кросс-средствами, но вторую разницу нужно прочувствовать все же.

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


С кнопочками "TAP", "SCL", "SNA", которые бы компиллили в код, код упаковывали в нужный формат и отдавали на загрузку юзеру.

Даже эмуль спека как на viva-games.ru не обязательно интегрировать. Всё равно по кнопочке "TAP" сразу получим TAP, а по двойному щелчку запустится ассоциированный эмулятор.

а не завернуть ничего? типа посношаться и всё такое.

jerri
05.07.2018, 16:35
MONS? Ты серьёзно? Ты его видел? Специально для тебя пишу - там НЕЛЬЗЯ программировать на асме. Это просто отладчик, без возможности ввода программы на АСМЕ, о чем я и написал. А вот BUGSID может.


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



По СТС ничего не могу сказать - никогда не юзал.


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



а хер тебя знает, я написал точный и верный комментарий, а ты чушь спорол как обычно.

да ладно? корону сними.

Shiny
05.07.2018, 16:48
мужчины, кроме словесных перепалок способен кто-то написать гайд для начинающего?

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

ZX_NOVOSIB
05.07.2018, 17:06
типа посношаться и всё такое
Не время сношаться - возьми себя в руки!

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


кто-то написать гайд для начинающего?
Я способен написать что-то нечто. Для совсем начинающих. Так, что любой, кто хоть чуть-чуть понимает бейсик, преодолеет барьер. Но нужна среда для лёгкого старта. На крайняк и Эмузвин сойдет. Но авось подыщется какая-нибудь альтернатива, надо подумать-поискать.

Shiny
05.07.2018, 17:12
Не время сношаться - возьми себя в руки!

Зачем? без лишних заморочек я итак соберу и tapки и scl/trd


Я способен написать что-то нечто. Для совсем начинающих.

Не верится. Если я упустил твою иронию, то посты выглядят как эмопосты.

JV-Soft
05.07.2018, 17:28
Но нужна среда для лёгкого старта.
Мама дорогая ,да чего ж готовый аласм/тасм не взять ? ,и пиши ничего не настраивая. хоть в эмуле хоть на реале.

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

При чем новичку в асеммблере с sts-сом будет в сто раз проще чем в сжасме отлавливать ошибки, ибо пошаговый трассер

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

Блин флейм это зло ,выпиливал панельку под пентагон ,и выпилил прорези не в той плоскости, пока вас читал , тфу на вас :mad:

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


Нужен IDE-онлайн ! ))
нужно хоть немного желания, средст разработки и летературы просто горы

ZX_NOVOSIB
05.07.2018, 17:29
Мама дорогая ,да чего ж готовый аласм/тасм не взять ? ,и пиши ничего не настраивая. хоть в эмуле хоть на реале.
Тада уж лучше Эмузвин взять ))

На тему эмуль/не эмуль: http://speccy.info/Кросс-средства

Vadim
05.07.2018, 17:30
не надо так агрится сразу комплексами вонять начинает
Воняешь здесь только ты, ужасно надоел, в каждой теме ты с бессмысленными постами, место сдохнувшего риндекса захотел занять что ли? Если у тебя есть хотя бы чуток ума, так ты бы себя не вёл.

ZX_NOVOSIB
05.07.2018, 17:34
Блин флейм это зло ,выпиливал панельку под пентагон ,и выпилил прорези не в той плоскости, пока вас читал , тфу на вас
А вот нефиг было флеймить в "Программировании" :biggrin:

Shiny
05.07.2018, 17:35
Дети, бейтесь совками в песочнице

Vadim
05.07.2018, 17:35
Но нужна среда для лёгкого старта.
для того, что бы начать писать нужно иметь знания архитектуры. Чёткое представление что где лежит, как работает. А когда оно будет, то писать будет уже несложно. Так называемого барьера не будет. "Барьер" о котором писали в Ревю, был создан почти полным отсутствием информации. И книги их, в т.ч. "как написать игру", были всё в том же стиле - "сам почти ничего не знаю, но хочу написать книгу". Т.е. по большей части там были самые начальные сведения о архитектуре компьютера, причем не стройным текстом, а хаотично надёрганные из разных подтем.

Shiny
05.07.2018, 17:37
На тему эмуль/не эмуль: http://speccy.info/Кросс-средства

муахах, это педивикия?
https://78.media.tumblr.com/tumblr_m5ozx7iP3x1qcwic6.gif

ZX_NOVOSIB
05.07.2018, 17:44
муахах, это педивикия?
https://78.media.tumblr.com/tumblr_m5ozx7iP3x1qcwic6.gif

Там и про тебя есть: http://speccy.info/Goblin :v2_devil:

Shiny
05.07.2018, 18:39
Там и про тебя есть: http://speccy.info/Goblin :v2_devil:

для справочки:
http://www.pouet.net/groups.php?which=11696

jerri
05.07.2018, 19:20
Воняешь здесь только ты, ужасно надоел, в каждой теме ты с бессмысленными постами, место сдохнувшего риндекса захотел занять что ли? Если у тебя есть хотя бы чуток ума, так ты бы себя не вёл.

да ладно? я просто, в ответ на твой агрессивный пост о низком качестве книг, предложил тебе сделать разбор книги или написать свою, правильную.
и? зацепил твою ранимую душу? или корону?

Vadim
05.07.2018, 19:24
да ладно? я просто, в ответ на твой агрессивный пост о низком качестве книг, предложил тебе сделать разбор книги или написать свою, правильную.
Я тебе ответил. Нет времени. И нет желания. А то, что литература по спектруму была ниже плинтуса известно всем. Крохи информации, в каком-то искажённом свете. Я в тех же 90х искал, рыл. Ходил в библиотеки, читал то что мог найти, что бы лучше понимать предмет. По разным другим системам и находил. Если представить, что есть некий индивидуум, который кроме книг на спектруме ничего не читал, то он будет весьма безграмотным, почти ничего не знающим. (тут я не беру в расчёт некоторые эл. журналы, где была инфа полезная, но их было мало и они выходили уже после 1996г).

Shiny
05.07.2018, 19:27
@jerri,
@Vadim,

у кого хватит яиц на то, чтобы притормозить сведение личных счетов?

JV-Soft
05.07.2018, 19:34
Я в тех же 90х искал, рыл.
А чем Радионов не устраивал ? "ZX Spectrum для пользователей и программистов" 1991 год.

Epsilon
05.07.2018, 20:31
Нужен IDE-онлайн ! ))

Чтобы работало во всех популярных браузерах.

С кнопочками "TAP", "SCL", "SNA", которые бы компиллили в код, код упаковывали в нужный формат и отдавали на загрузку юзеру.

Даже эмуль спека как на viva-games.ru не обязательно интегрировать. Всё равно по кнопочке "TAP" сразу получим TAP, а по двойному щелчку запустится ассоциированный эмулятор.

В качестве стартовой отметки могу порекомендовать данный "проэкт"

http://clrhome.org/asm/

Судя по всему не развивается, но в базе имеет кое-какие функции. Можно даже компиляцию в TAP сделать, если сэмулировать bin с помощью мнемоник асма.

Dwa83
05.07.2018, 20:35
Т.е. по большей части там были самые начальные сведения о архитектуре компьютера, причем не стройным текстом
То, что не структурировано и скачками, это понятно. Я как-то заморочился и нашлёпал гайд по ботоделу под одну игру. Мне одним из первых написали - "Как-то не систематизировано", или что-то в этом роде. Но такой порядок сам напрашивается, когда понимаешь, что написать по-другому сложнее, из-за того, что читатель нифигаж не знает.

Скажу, что те самые неструктурированные поверхностные книги, НО написанные понятно не просто для новичка, а для того, кто вообще представления о теме не имеет, давольно неплохо сделаны, и дают старт для изучения более серъёзных вещей.

JV-Soft
05.07.2018, 20:38
А вот нефиг было флеймить в "Программировании"

:v2_tong2:

https://d.radikal.ru/d04/1807/27/c71d2ed2688et.jpg (https://d.radikal.ru/d04/1807/27/c71d2ed2688e.jpg)

r3d
05.07.2018, 20:44
Нужен IDE-онлайн ! ))С кнопочками "TAP", "SCL", "SNA", которые бы компиллили в код, код упаковывали в нужный формат и отдавали на загрузку юзеру.В результате MSWord, который в 89-м умещался на дискете, в 2000-х стал с трудом умещаться на CD.

Книги плохие были – плохому танцору всегда что-то мешает. В 80-х прочитал цикл статей в журнале Радио про Микро-80, Микрошу, 580ВМ80А, а потом на основе этих знаний стал писать на Спектруме методом проб и ошибок.

Dwa83
05.07.2018, 20:50
ZX_NOVOSIB, А если тебе исходник кинуть, ты сможешь прикрутить к нему построение TAP/tzx/палки-с-гвоздями ? Тогда будет как тебе хотелось, нажал кнопку "сделай хорошо" - всё готово)

ZX_NOVOSIB
05.07.2018, 21:15
А если тебе исходник кинуть, ты сможешь прикрутить к нему построение TAP/tzx/палки-с-гвоздями ? Тогда будет как тебе хотелось, нажал кнопку "сделай хорошо" - всё готово)
Я не смогу, но может кто из присутствующих смогёт :)


В качестве стартовой отметки могу порекомендовать данный "проэкт"

http://clrhome.org/asm/

Судя по всему не развивается, но в базе имеет кое-какие функции. Можно даже компиляцию в TAP сделать, если сэмулировать bin с помощью мнемоник асма.
Проект бомба! Даже TAP сразу отдаёт, по клику! Но слишком простой и сырой. ORG не понимает, отдаёт тапок, в котором код интегрирован в рем-строку бейсика, JR - не понимает, метки не понимает. Короче печаль. Но сам принцип - то, что надо. Вот такое я и имел в виду.

Epsilon
05.07.2018, 21:32
Я не смогу, но может кто из присутствующих смогёт :)


Проект бомба! Даже TAP сразу отдаёт, по клику! Но слишком простой и сырой. ORG не понимает, отдаёт тапок, в котором код интегрирован в рем-строку бейсика, JR - не понимает, метки не понимает. Короче печаль. Но сам принцип - то, что надо. Вот такое я и имел в виду.

Да всё он понимает.

Вот этот код работает, компилится и запускается в эмуле. Только что проверил.



.org $8000

start:
ld hl, $4000
ld bc, $3c42
ld de, $81a5
ld (hl), b
inc h
ld (hl), c
inc h
ld (hl), d
inc h
ld (hl), e
ld b, 4
ld de, gfx
lp1:
ld a, (de)
ld (hl), a
inc h
inc de
djnz lp1

ret
gfx:
.db $81, $99, $42, $3c


Хотя тапка да, кривая донельзя. Код привязан к $8000, а размещается внутри строки бейсика, и поэтому работает лишь частично.

Dwa83
05.07.2018, 22:26
ORG не понимает, отдаёт тапок, в котором код интегрирован в рем-строку бейсика, JR - не понимает, метки не понимает. Короче печаль.
Попробуй мою приблуду)) Я её реклимирую, чтоб хоть кто-то проверил) никто ещё не проверил) Из-за этого не разовьётся мега-крутой компиль)) А если без шуток, то я даже рефакторю щас всё, что ещё и компиль 6502 выбирать можно было) Чтоб разные синтаксисы понимал, ну хорошо же, когда на Генсе для неса пишешь?))

krt17
05.07.2018, 23:02
Чет я не понял, а где барьер то? Не можешь освоить пару страниц команд z80 ? Не знаешь как устроен самый простой комп на z80? Не в состоянии поставить саблайм и z80 подсветку с этого форума, в которой кстати есть и компиляция с запуском эмуля одним кликом мышки? Распиши подробно что у тебя не получилось?

Lethargeek
06.07.2018, 01:04
Например, используется ужясм. Проще сделать снапшот и гонять в эмуляторе. И тут начинается самое веселое - у снапшота область системных переменных просто испорчена, вся печать приведет к сбросу компьютера. Это решается через всякие костыли, но для начинающего слишком сложно. Сборка trd - тоже не для новичка.
шта, собрать бин и в эмуль загрузить за рамтоп - это очень сложный костыль, по-твоему?

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


В спекуляторе нет (самый адекватный эмуль)
ну и какой же он тогда адекватный

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

есичо, лично я первый свой машиннокодовый хелловорд набрал в мониторе турбо-90 по таблице опкодов на бумажке
а барьер (психологический) был еще на калькуляторе взят успешно; такшта главное - наличие интереса

Labrador
06.07.2018, 05:14
Из вполне скромной темы вышел холивар, причем во все стороны - от книг, до личных оскорблений. Мое мнение - иметь полноценный IDE для кросплатформенной разработки, которое бы устанавливалось без танцев с бубном, было бы не плохо, даже не смотря на то, что можно обойтись и GENS. Как показала практика (и мое блуждание по просторам интернета) - попытки создать нечто подобное предпринимались неоднократно, но до финала ни кто не дошел. Печально.
P.S.: Нашел еще вот это - https://www.asm80.com , но тоже погибший в зачаточном состоянии....

Vadim
06.07.2018, 06:01
А чем Радионов не устраивал ? "ZX Spectrum для пользователей и программистов" 1991 год.
А что там есть интересного? Обзорная книга ни о чём, общие слова. В ней не было того, что учат на предмете ЭВМ и ВС. Т.е. что бы человек который не представляет как работает компьютер прочитал её и понял. Ведь почему был "барьер"? Как я уже сказал выше - не было почти никакой информации, а та что была касалась бейсика. Т.е. бейсик был более менее распространён в то время (сейчас молодёжь о нём не знает 100% и из людей что старше 30 мало кто скажет что это), все бытовые компы были с бейсиком. В журналах типа "Техника Молодежи", "Наука и Жизнь" и других была кое-какая инфа по бейсику. В ZX-Ревю писали. В ходу была перепечатка книги "Тайники ZX-Spectrum". Бейсик ZX давал возможность изучения его тем, что ввод слов был токенизирован и в принципе, методом проб и ошибок можно выяснить действие почти всех команд и функций. И на этом всё заканчивалось. Пользователь, который хотел начать писать на ассемблере (внезапно! Это после того как он изучил встроенный бейсик!!!) не мог этого сделать, т.к. в его мозгу была сформирована модель ПЭВМ как бейсик машины. Никакого понятия о процессоре, стеке, регистрах нет и не было. В "самоучителе по ассемблеру" вообще дичь была написана, типа "представляйте что регистры процессора это как переменные бейсика". Вот. Ещё одна засада. Модель в уме надо менять, менять представление, нужно понять что перед тобой и как оно работает, хотя бы в общих чертах. И таких вот аналогий ненужно будет делать. Знаете сколько я ещё в 18-20 лет встречал "горе-программистов", которые поступивши на специальность ПОВТ (программирование), не имели ни малейшего представления как устроен комп? Писали они себе на паскале и в ус не дули... "Прерывания? Регистры? ДМА? - я не знаю и мне на это как-то насрать" сказал один из них на 3-м курсе универа, учась на программировании. Ему - да, не нужно было. Программирование для домохозяек, это так называется, когда ты даже не представляешь как оно там устроено и ты нужный тебе алгоритм кодируешь на понятном тебе языке. Вот, в общем я обрисовал картину. Но у нас вопрос в другом. У нас люди хотели начать, но не могли. Причина думаю ясна. А среда программирования, в чем писать - тут уж дело вкуса. Когда какие инструменты были с ними и работали, сначала GENS был, потом TASM. А потом их валом стало, что хочешь то и юзай. Я с 1998г писал на ПЦ, это было в разы удобнее. Компилировал там же, писал на дискету и запускал на спектруме.

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


Книги плохие были – плохому танцору всегда что-то мешает. В 80-х прочитал цикл статей в журнале Радио про Микро-80, Микрошу, 580ВМ80А, а потом на основе этих знаний стал писать на Спектруме методом проб и ошибок.
мы говорим про литературу на платофрме ZX Spectrum. Речь шла о ней, советую перечитать мои посты и понять о чем идёт речь.

Epsilon
06.07.2018, 06:26
Из вполне скромной темы вышел холивар, причем во все стороны - от книг, до личных оскорблений. Мое мнение - иметь полноценный IDE для кросплатформенной разработки, которое бы устанавливалось без танцев с бубном, было бы не плохо, даже не смотря на то, что можно обойтись и GENS. Как показала практика (и мое блуждание по просторам интернета) - попытки создать нечто подобное предпринимались неоднократно, но до финала ни кто не дошел. Печально.
P.S.: Нашел еще вот это - https://www.asm80.com , но тоже погибший в зачаточном состоянии....

Кстати весьма неплохой инструмент, по крайней мере, задумывался. Он даже что-то компиляет.

Shiny
06.07.2018, 07:05
шта, собрать бин и в эмуль загрузить за рамтоп - это очень сложный костыль, по-твоему?
что быстрее - запустить снапшот или загрузить бинарь?

Sayman
06.07.2018, 08:39
что быстрее - запустить снапшот или загрузить бинарь?
вопрос не правильно поставлен. не что быстрее, а что правильнее. для отладки снапшот. для релиза бинарь.
а я вот без снапшотов обхожусь...

Shiny
06.07.2018, 08:53
вопрос не правильно поставлен. не что быстрее, а что правильнее. для отладки снапшот. для релиза бинарь.
а я вот без снапшотов обхожусь...

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

Ну а для кодинга для меня снапшот все же удобнее.

r3d
06.07.2018, 09:30
мы говорим про литературу на платофрме ZX Spectrum. Речь шла о ней, советую перечитать мои посты и понять о чем идёт речь.А Вам советую вникать в то, что говорят. Сказал же, что мне хватило прочитать несколько статей в журнале Радио по теме 580ВМ80А для того чтобы начать программировать на Спектруме. Что это за "барьер" такой в несколько страниц с описанием команд?

Раз в неделю съездишь на Тушинский рынок, урвешь что-то из самиздата и мне этого было более чем достаточно. Ибо у меня было просто дикое желание сделать нужную мне программу, и я ее сделал. Пусть потратил больше времени на набивание шишек, но сделал. А если бы я тратил силы на взятие каких-то барьеров из серии Hello world и сетование на то, что нет хороших книг, наверное, до сих пор были бы только одни разговоры.

P.S. За всю жизни ни одной строки не сделал на БЕЙСИКе. Начинал на ассемблере Спектрума, а потом на C и Фоксе на PC. И это без какого-то специального образования. Только самиздат и книги, когда с ними стало полегче.

Есть люди, которые всю жизнь в поиске. То им литературы не хватает качественной, то инструментов, то программы подавай все новых и новых версий. А есть те, кто просто ваяет на том что имеет. Попадется что-то лучше - хорошо, нет – ничего страшного.

Vadim
06.07.2018, 10:38
Есть люди, которые всю жизнь в поиске. То им литературы не хватает качественной, то инструментов, то программы подавай все новых и новых версий. А есть те, кто просто ваяет на том что имеет. Попадется что-то лучше - хорошо, нет – ничего страшного.

Ну топикстартер же не может? Это раз. Потом вы в Москвабаде, там был радиорынок, а по стране было множество городов где не было таких радирынков. И даже те книги, которые мы выше осбуждали купить было негде. А если нет никакой литературы вообще, то из пальца знания не высосешь.


А Вам советую вникать в то, что говорят. Сказал же, что мне хватило прочитать несколько статей в журнале Радио по теме 580ВМ80А для того чтобы начать программировать на Спектруме.
Ну я понял это, причем сразу. Ничего против не имею. Я сделал замечание не вам, а совершенно другому человеку, который привел в пример книжку для спектрума, которую я видел. Зачем встрявать в разговор не понимая сути? Я чуть ниже написал, что искал инфу тоже где мог. У нас радиорынка не было и нет, и я искал в журналах и в библиотеке, а спектрумовский шлак мне совершенно не помог, тем более, что когда эти книги до нас дошли, всё это было уже известно многим на своем опыте.

JV-Soft
06.07.2018, 12:05
А что там есть интересного? Обзорная книга ни о чём, общие слова.
Открываем с 71 страницы и поехали ,полностью описана архитектура ZX ,проц , разжеваны все команды ,устройство экрана ,память и т.д.
Чета везде тебе не то и не так )))
Я например первую книгу в руках подержал году в 95 , когда уже писал спокойно на асме ,все сам от интереса ,общаясь с такими же, без всякой литературы "расковыривая" "ваши" барьеры :wink:

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


что быстрее - запустить снапшот или загрузить бинарь?
в аласме нажать A и R

Блин, когда-то был компо-машиной Пентагон, который не умел читать снапшоты.
а чего реалы должны поддерживать придуманное на пс )

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


Есть люди, которые всю жизнь в поиске. То им литературы не хватает качественной, то инструментов, то программы подавай все новых и новых версий. А есть те, кто просто ваяет на том что имеет. Попадется что-то лучше - хорошо, нет – ничего страшного.
В точку темы :v2_thumb:

Vadim
06.07.2018, 12:18
Я например первую книгу в руках подержал году в 95 , когда уже писал спокойно на асме ,все сам от интереса ,общаясь с такими же, без всякой литературы "расковыривая" "ваши" барьеры
Ну я большую часть книг увидел в 1994 году и позднее, когда мне они были уже бесполезны, я знал больше чем там написано. Про конктретно 71 страницу. Написано, что и как, но не то. Я не знаю как объяснить. Человек прыгает в частности не объясняя для тех, кто знает только "бейсик". Т.е. этот материал будет абсолютно понятен и неинтересен всем кто знает больше этого автора. А кто знает меньше будет с трудом понимать, что там написано. Объяснить тем, кто ничего не знает очень трудно.

jerri
06.07.2018, 12:45
Ну я большую часть книг увидел в 1994 году и позднее, когда мне они были уже бесполезны, я знал больше чем там написано. Про конктретно 71 страницу. Написано, что и как, но не то. Я не знаю как объяснить. Человек прыгает в частности не объясняя для тех, кто знает только "бейсик". Т.е. этот материал будет абсолютно понятен и неинтересен всем кто знает больше этого автора. А кто знает меньше будет с трудом понимать, что там написано. Объяснить тем, кто ничего не знает очень трудно.

я например уже вполне прилично программируя увидел книгу описанную здесь
(http://zx-pk.ru/threads/6316-kniga-po-assembleru-z80.html)
я так понял это именно перевод какой то англоязычной популярной книги
и таки да - это бред но для начинающих.

Shiny
06.07.2018, 12:48
jerri, почту глянь.

Lethargeek
06.07.2018, 13:52
что быстрее - запустить снапшот или загрузить бинарь?
лишних три секунды на набор адреса - это "слишком сложные костыли"?
и да, если говорить о барьерах, то после покесов базюканцу проще понять бинарь
без разборок с глюками из-за испорченных переменных

jerri
06.07.2018, 13:58
Lethargeek, у меня настроен эмуль и по F5 происходит сборка и запуск снапшота.

Shiny
06.07.2018, 14:01
лишних три секунды на набор адреса - это "слишком сложные костыли"?
и да, если говорить о барьерах, то после покесов базюканцу проще понять бинарь

Хорошо, какой эмулятор позволяет загрузить бинарь?

JV-Soft
06.07.2018, 14:46
Хорошо, какой эмулятор позволяет загрузить бинарь?
:biggrin: каждый псшник с детства знает

https://c.radikal.ru/c11/1807/86/14d7b3272a2f.jpg (https://radikal.ru)

ZX_NOVOSIB
06.07.2018, 15:13
Да всё он понимает.
Понимает, но какие-то левые точки, двоеточия и т.п. Не годится. Должна быть совместимость с GENS, ибо на него все книжки ориентированы, а там просто ORG без точек, и метки без двоеточий. Ну кривая тапка это уже даже не играет роли, так как уже пипец )


Попробуй мою приблуду)) Я её реклимирую, чтоб хоть кто-то проверил) никто ещё не проверил) Из-за этого не разовьётся мега-крутой компиль))Попробую.


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


А что там есть интересного? Обзорная книга ни о чём, общие слова.Не, книга хорошая, но лишь на фоне остальных )) В подростковом возрасте у меня была, и щас сохранилась, я даже пытался её читать, но абсолютно нифига не мог понять. Это было равносильно тому, как если бы я начал читать Конфуция без перевода: "ага, вот этот иероглиф похож на человечка, а вот этот на домик, этот на ёлочку, хм.. чтобы это значило?.." Вот после "Как написать игру на асме", она уже более-менее воспринимается хоть как-то, но её у меня не было.


https://www.asm80.com - Кстати весьма неплохой инструмент, по крайней мере, задумывался. Он даже что-то компиляет.
Жму "new file", пишу любой код, жму COMPILE и получаю "Unrecognized ASM type", ЧЯДНТ?

Shiny
06.07.2018, 15:14
каждый псшник с детства знает
Для усиления сарказма
https://vignette.wikia.nocookie.net/madnesscombat/images/f/f6/XXUL7R4F4C3PL4N7Xx.jpg/revision/latest?cb=20140808144355

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

jerri
06.07.2018, 15:19
Я решил написать статью. Но в статье надо ссылаться на какой-то простой способ написания простой проги. Ссылаться на скачивание и настройку кучи всякого барахла - не годится. Вернее может и годится, но я такую статью точно писать не буду.


есть же ответ

любой мануал по программированию на ПЦ (мы же берем самые самые)
начинается с описания IDE в котором мы будем работать.

tipa
06.07.2018, 15:40
Слушайте, а ведь идея то смахивает на объектно-ориентированное программирование, типа языков со словом Visual в названии... Грубо говоря, имеем на том же ПС прогу, которая позволит тебе собрать как конструктор из готовых процедур нужное и потом выгрузить это в нужном формате. Будет уметь загружать готовый код и находить в нем процедуры, превращая в отдельные "детали" конструктора, которые потом также можно использовать. От программиста потребуется: понимание алгоритма, чтобы сделать именно то, что хочется, познания в том, как будут располагаться в памяти спека процедуры, использованные им (это для отладки, если что-то пошло не так и надо подправить ручками) и команды ассемблера, какие и что делают, чтобы можно было открывать листинг своей программы и видеть, что там делается. остальное (чтоб за пределы памяти не выходило, переменные не пропадали, или еще какие важные тонкости) этот, назовем его Визуал Эмуль, будет знать сам и поправлять программиста, если он ошибется.
Я правильно понимаю? Тогда больше людей захочет творить и им будет проще все это освоить.

jerri
06.07.2018, 15:47
tipa, ну так AGD еще проще
или та же Churrera

Shiny
06.07.2018, 15:47
Слушайте, а ведь идея то смахивает на объектно-ориентированное программирование, типа языков со словом Visual в названии...
Чем не HLA или Оберон?

JV-Soft
06.07.2018, 16:51
jerri,
Шынни,
Lethargeek,
И я в том числе , ощущение ,что собрался первый класс вторая четверть ,которые даже басика не знают не то что на асме кодить.

О чем мы тут вообще беседу ведем :biggrin:

OrionExt
06.07.2018, 16:54
Шынни, злоупотребляешь таки (с недокументированные командами) или бросил. Эту хрень - Z80 (к-моп) навсегда:D

Shiny
06.07.2018, 17:05
и правда. пускай ТС сам побултыхается?

JV-Soft
06.07.2018, 17:18
пускай ТС сам побултыхается?
Это будет лучше , если у него есть жедание начать хоть что то делать.

Shiny
06.07.2018, 17:19
Это будет лучше , если у него есть жедание начать хоть что то делать.

А если возникнут неточности?

Vadim
06.07.2018, 20:10
Не, книга хорошая, но лишь на фоне остальных )) В подростковом возрасте у меня была, и щас сохранилась, я даже пытался её читать, но абсолютно нифига не мог понять. Это было равносильно тому, как если бы я начал читать Конфуция без перевода

Книга для начинающих не плохая, но всё же... Вот ты тут и подтвердил то, о чём я писал выше.... Для знающих не нужна, для не знающих не очень полезна....

krt17
06.07.2018, 20:31
Я решил написать статью.
Ха ха, ну ты даешь, ничего не умею, ничего не знаю, буду других учить.

Totem
06.07.2018, 20:43
https://www.youtube.com/watch?v=O-D3R2vseWI

ZX_NOVOSIB
06.07.2018, 22:17
Ха ха, ну ты даешь, ничего не умею, ничего не знаю, буду других учить.
Именно. Обычно так и делают кстати :D

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


Попробуй мою приблуду)) Я её реклимирую, чтоб хоть кто-то проверил) никто ещё не проверил) Из-за этого не разовьётся мега-крутой компиль)) А если без шуток, то я даже рефакторю щас всё, что ещё и компиль 6502 выбирать можно было)
Попробовал. Оказалось не так уж и плохо.

Мысли такие:

- Можно же сделать, чтобы по Save Code, происходила сначала компиляция, и сразу сохранение? Чтоб два раза не жать разные кнопки.

- после компиляции нужно сообщение о количестве байт.

- расширение только BIN должно быть, не левое.

- есть утилита BIN TO TAP (https://vtrd.in/pcutilz/BIN2TAP.zip), и даже с автором можно списаться, если что. Сможешь её прикрутить к своей приблуде? И кнопочку сделать "получить тапок" ))) Чтобы нажал и сразу и компиляция, и конвертация в TAP. Батник там например такой: bin2tap -c input.bin output.tap zxname 40000 - делает из бина тапок с кодовым блоком имеющим стартовый адрес 40000 (а у нас старт должен браться из ORG)

Можно с автором перетереть, на предмет добавить ещё и бейсик-лоадер, перед кодовым блоком, чтобы там в одной строчке было что-то типа: CLEAR [ORG -1] : LOAD "" CODE [ORG] : BORDER SQR PI: PAUSE NOT PI: BORDER VAL "7": RANDOMIZE USR [ORG]

- с размером и цветом шрифта что-то надо сделать. Может к вот этому (http://zx-pk.ru/threads/21731-z80-asm-plugin-for-sublime-text-2.html) как-то твою приблуду прикрутить? Короче нужен настраиваемый размер шрифта и раскраска... )

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

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

Где bin2scl скачать?

Labrador
07.07.2018, 04:21
ZX_NOVOSIB, А если тебе исходник кинуть, ты сможешь прикрутить к нему построение TAP/tzx/палки-с-гвоздями ? Тогда будет как тебе хотелось, нажал кнопку "сделай хорошо" - всё готово)

Залил бы на гитхаб, может и поковыряли бы.

Shiny
07.07.2018, 04:34
- есть утилита BIN TO TAP, и даже с автором можно списаться, если что. Сможешь её прикрутить к своей приблуде? И кнопочку сделать "получить тапок" ))) Чтобы нажал и сразу и компиляция, и конвертация в TAP. Батник там например такой: bin2tap -c input.bin output.tap zxname 40000 - делает из бина тапок с кодовым блоком имеющим стартовый адрес 40000 (а у нас старт должен браться из ORG)

ну точно ниасилятор(: Есть вариант сборки в pasmo, или с помощью утилиток - глянь в треде ужясм.


Где bin2scl скачать?

а был ли он? проще написать самому.

Shiny
08.07.2018, 10:37
В рамках преодоления барьера предлагаю нарисовать картинку:
http://i105.fastpic.ru/big/2018/0708/aa/0f20d133e0d380a4f0952ddfca9804aa.png

размер имеет значение. Поехали!

Bedazzle
09.07.2018, 00:21
В рамках преодоления барьера предлагаю нарисовать картинку:
http://i105.fastpic.ru/big/2018/0708/aa/0f20d133e0d380a4f0952ddfca9804aa.png

размер имеет значение. Поехали!

ром можно использовать?

Shiny
09.07.2018, 06:42
любые средства хороши

daniel
09.07.2018, 18:26
Задание №2 (вложенные циклы):
Нарисовать квадрат 10*10 знакомест в центре экрана, без использования процедур печати.
листинг - сюда. Комиссия этой ветки проведёт оценку студенту. Председатель комиссии Шынни.

Shiny
09.07.2018, 18:36
В общем, тот набросок, что накидал, вышел 34 байта, но не предел.

Syntal
09.07.2018, 18:38
Здесь люди собрались, чтобы БАРЬЕР преодолевать, а Вы какие-то задачки постите! )))

daniel
09.07.2018, 18:43
Здесь люди собрались, чтобы БАРЬЕР преодолевать, а Вы какие-то задачки постите! )))
если ZX Novosib не идёт к барьеру, то барьер движется к нему.

Lethargeek
09.07.2018, 19:02
если ZX Novosib не идёт к барьеру, то барьер движется к нему.
видеотуториал:

https://www.youtube.com/watch?v=56FbnEHa0WU

AzAtom
10.07.2018, 16:48
Какой барьер? Какой двойной щелчок? Какой эмуль? Какой TAP?:v2_dizzy_tired2:

Есть спектрум, есть диск с ассемблером, есть таблицы команд Z80 и при желании можно набить в маш.кодах, есть знание устройства спектрума - это 20%, необходимые для преодоления барьера. Остальные 80% - понимать принцип работы компьютера, уметь составить алгоритм решения задачи и уметь этот алгоритм представить в виде асм команд.

Нет второй части - никакие суперудобные IDE не помогут никому и никогда. Ну разве что действительно написать "Hello world" и больше не лезть в это дело.

Spectramine
10.07.2018, 19:03
Вот именно. Мне для преодоления барьера машинного кода хватило POKE и RANDOMIZE USR)

Bedazzle
10.07.2018, 19:05
В общем, тот набросок, что накидал, вышел 34 байта, но не предел.

22 байта через водку /зачёркнуто/ ром /зачёркнуто/
через rst 16

Shiny
10.07.2018, 19:19
22 байта через водку /зачёркнуто/ ром /зачёркнуто/
через rst 16

ну пости здесь, разрушим барьеры что-ли.

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



device zxspectrum128
ORG #6000
begin

ld de,$4000
lp1:
ld a,e
and 31

ld l,a
add hl,hl
add hl,hl
ld h,$1E
add hl,hl
inc h
push de
ld b,8
lp2:
ld a,(hl)
ld (de),a
inc hl
inc d
djnz lp2
pop de
inc e
jr nz,lp1
ld a,d
add a,8
ld d,a
cp $58
jr nz,lp1
jr $
end
display /d,end-begin
savesna "!void.sna",begin


34 байта без jr $

Bedazzle
10.07.2018, 20:29
ну пости здесь, разрушим барьеры что-ли.



DEVICE ZXSPECTRUM48

org 25000
QUIZZSTART:
ld a, 22 ; AT
rst 16
xor a ; xcoord
rst 16
xor a ; ycoord
rst 16

ld c, 22
loop1:
ld b, 32
loop2:
ld a, ' '+32
sub b
rst 16
djnz loop2

dec c
db 32, -11 ; ;jr nz loop1

stop:
jr stop

;ret

QUIZZEND:


SAVEBIN "quizz.bin", QUIZZSTART, QUIZZEND - QUIZZSTART


Почему-то ужасм не компилит jr nz loop1 у меня, просто скипает эту команду, если смотреть дизасм :/ причём в другом проекте нормально компилится.
Поэтому поставил затычку через db.

Shiny
10.07.2018, 20:38
jr nz,loop1 ?

Spectramine
10.07.2018, 20:49
Почему-то ужасм не компилит jr nz loop1 у меня, просто скипает эту команду, если смотреть дизасм :/ причём в другом проекте нормально компилится.
Поэтому поставил затычку через db.
Может, запятая пропущена между nz и loop1?

Bedazzle
10.07.2018, 21:16
jr nz,loop1 ?

Ну вот нельзя немножко накосячить, как все сразу всё знают. :)

krt17
10.07.2018, 22:59
Вы же меня ждали? Нет, ну ладно, 21 без rst

device zxspectrum48
org 0x8000
start
ld de, 0x57ff
.l1
ld h, 0x3d
ld a, e
.3 add a, a
xor d
and 0xf8
xor d
ld l, a
ldd
ld a, h
cp d
jr nz, .l1
ret
display /A,$-start
savesna "test_g.sna", start

Для преодолевателей барьеров думаю не предел.

Bedazzle
10.07.2018, 23:22
Вы же меня ждали? Нет, ну ладно, 21 без rst

Декремент... ХитрО!

Shiny
11.07.2018, 07:37
аплодирую стоя (:

Bedazzle
11.07.2018, 08:06
Вы же меня ждали? Нет, ну ладно, 21 без rst

При запуске образа почему-то такая картинка:

https://i.imgur.com/AxsrINw.png

скомпиленый код
https://i.imgur.com/AHkd197.png

ZX_NOVOSIB
11.07.2018, 08:20
krt17, на чём пишешь? Это же не на ужасме? Ужасм вроде двоеточий в метках требует.

Shiny
11.07.2018, 08:29
При запуске образа почему-то такая картинка:

должно быть три раза add a,a

DenisGrachev
11.07.2018, 09:03
преодоление барьера методом ldd! Новосиб, когда ждать от тебя первую игру? не терпится покритиковать и советов выдать с сотню :)

Bedazzle
11.07.2018, 09:18
должно быть три раза add a,a

Ага, я заподозревал это, но не успел проверить, нужно было убегать.
Сейчас запустил с поправкой - работает. :)

Shiny
11.07.2018, 09:22
Кстати, слышал, что есть такой билд ужясма, которые поддерживает такой синтаксис, как повтор операций. Такая версия есть?

ZX_NOVOSIB
11.07.2018, 10:33
когда ждать от тебя первую игру? не терпится покритиковать и советов выдать с сотню
Каждому своё.. Одни игры пишут, а другие критикуют.. ))

Shiny
11.07.2018, 10:49
Каждому своё.. Одни игры пишут, а другие критикуют.. ))

а третьи? играют?(:

krt17
11.07.2018, 19:42
на чём пишешь
Сжасм родной, на чем же еще, альтернатив нет.
Предлагаю преодолеть первый барьер и прочитать хелп сжасма. Там все рассказано, двоеточее конечно не обязательно

скомпиленый код
Для авторов такого дебагера есть отдельный котел, нет у z80 мнемоники 'add a'

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

Bedazzle
11.07.2018, 20:23
Для авторов такого дебагера есть отдельный котел, нет у z80 мнемоники 'add a'

А какой дебагер хороший?

Shiny
11.07.2018, 20:26
А какой дебагер хороший?

в старое время устраивал STS 2.6

сейчас мне нравится у Spectaculator.

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


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

а есть такой ужясм?

krt17
11.07.2018, 20:49
а есть такой ужясм?
У меня такой
SjASMPlus Z80 Cross-Assembler v1.09 (https://github.com/z00m128/sjasmplus)
там вроде уже 1.10.1 появился с
TAPOUT, TAPEND, OUTEND directives were implemented
Возможно с их помощью барьер таки будет взят

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

Shiny
11.07.2018, 20:57
SjASMPlus Z80 Cross-Assembler v1.09 (https://github.com/z00m128/sjasmplus)
не нашел под венду


С Гобой вопрос отдельный, он по политическим.
я тоже безбашенный (:

krt17
11.07.2018, 21:00
я тоже безбашенный (:
Нет, ты политический.Лови
https://github.com/z00m128/sjasmplus/releases

Shiny
11.07.2018, 21:14
ох, страшно представить, на что будут похожи сырки

Bedazzle
11.07.2018, 22:02
сейчас мне нравится у Spectaculator.

Меня опечалила его беднота с точками останова. :(

krt17
16.07.2018, 20:52
Внезапно понадобилась привычная среда с быстрым развертыванием. Сделал из портабле версии сублайма.
http://gamergy.ru/files/zxIDE.zip
Распаковать куда угодно, запустить install.bat (добавит пару ярлыков и zxide переменную среды). Все можно ломать барьеры!
Состоит из актуального sublime text 3, unreal 0.38.3, sjasmplus 1.10.1 и подсветки от psb.
В z80 изменены только скрипты запуска асма и эмуля. В самом саблайме по ctrl+b сделан Build and Run.
Мне данной конструкции хватает чтобы ничего не делать, ничего не делать очень для меня в ней удобно :)
Ассоциации файлов нет, кому надо сами сделают, я и на ярлычек нормально перетаскиваю. Можно из папки example скомпилить пример, будет создана тапка и снап. Для самого ленивого старта пойдет. У меня на w10_64 все работает, за остальных не уверен, возможно надо будет переписать сверху sublime под 32.

jerri
16.07.2018, 20:55
krt17, а на f5 можно сборку повесить?

krt17
16.07.2018, 21:00
Вообще изи, ща обьясню.
В sublime
Preference > Key Binding
Откроется еще одно окно редактора с дефолтным и юзерским конфигом. Справа юзерский и там только одна наша команда, меняешь тупой ctrl+b на православный f5.

ZX_NOVOSIB
16.07.2018, 21:29
На winXP 32bit вот что пишет:


C:\IDE>.\nircmd.exe shortcut "C:\IDE\sublime\sublime_text.exe" "~$folder.desktop
$" "zxIDE"

C:\IDE>.\nircmd.exe shortcut "C:\IDE\unreal\unreal.exe" "~$folder.desktop$" "UNR
EAL"

C:\IDE>setx zxide C:\IDE
"setx" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

krt17
16.07.2018, 21:32
winXP 32bit
Я не палеонтолог-некрофил, вручную добавь системную переменную, не морочь людям голову.

Spectramine
16.07.2018, 21:36
У меня на w10_64 все работает, за остальных не уверен, возможно надо будет переписать сверху sublime под 32.
На Win7 32 не работает.

krt17
16.07.2018, 21:40
На Win7 32 не работает.
Этож барьер.
Вот у jerri все работает(наверное)

ZX_NOVOSIB
16.07.2018, 21:41
Я не палеонтолог-некрофил
Спектрум так-то подревнее winXP будет.

Spectramine
16.07.2018, 21:44
Этож барьер.
Вот у jerri все работает(наверное)

Ну не очень и хотелось)

krt17
16.07.2018, 21:55
Ладно ладно, я прям еще немного и виноватым себя почувствую. Барьеры так барьеры
Качаем https://download.sublimetext.com/Sublime%20Text%20Build%203176.zip
Распаковываем в папку IDE\sublime с заменой того что там было.
Все, у вас 32 битная версия. Что делать setx в xp не знаю, вроде она ставится в https://www.microsoft.com/ru-RU/download/details.aspx?id=18546 но по моему проще вручную сделать переменную окружения. Из нее скипты узнают где установлена IDE, как сделать по другому я не знаю.

Shiny
17.07.2018, 07:12
небось сборка с православного зверьСиДи ?

Bedazzle
18.07.2018, 00:16
Внезапно понадобилась привычная среда с быстрым развертыванием. Сделал из портабле версии сублайма.


Спасибо, интересно!

ZX_NOVOSIB
18.07.2018, 17:25
небось сборка с православного зверьСиДи ?
типа того, но не совсем.

В общем всё поставилось на XP. Спасибо. Но это не "в один клик" )
Многовато заморочек. Можно разобраться, но смысл не в этом, а в "IDE в один клик". Смысл то в этом. "Source file not found!" опять же.

Раскраску кстати кто придумал такую, на черном фоне? Это же не спектрум. В эмузвине и то нормальная раскраска. psb кажется придумал, не мудрено что его забанили, я бы тоже за такую раскраску забанил. Ибо фон должен быть светлым. Ну либо FAR-стайл. Черный фон только в спектруме применим, сугубо от безнадёги.

Shiny
18.07.2018, 18:06
мне раскраска не нравится вообще - только отвлекает.

дядька psb делал саблим, да : https://github.com/psbhlw/sublime-text-z80asm

Bedazzle
18.07.2018, 21:15
Раскраску кстати кто придумал такую, на черном фоне? Это же не спектрум.

Какая разница, спектрум или нет? Важно, чтобы выглядело хорошо, и помогало в работе.
Мне к примеру, пацанский чёрный нравится.

krt17
18.07.2018, 22:40
Сделал новый архив, с пожеланиями фанатов барьера. Ссылка прежняя (http://gamergy.ru/files/zxIDE.zip), теперь 32 бита, небольшой редми, почистил саблайм от своей сессии.
Новосиб что тебе не так то теперь?
смотри минимальный шаблон:

device zxspectrum48
org 0x8000
start
jr $
savetap "test.tap",start
cохраняешь как test.a80, жмеш f5 и усе работает, и даже тапку делает! Если совсем надо автомат, там есть система снипетов, сделай свой, это просто!
Давай вперед ломать барьеры, писать статьи, нас учить быстрому старту.

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

Кто там из Павлограда скачал, еще раз, забыл добавить setx :)

Labrador
19.07.2018, 18:12
Темный фон глаза меньше напрягает. Мне черный нравится вполне. Ну на худой конец синий, как в моем любимом "Робике" :)

AzAtom
19.07.2018, 20:17
В XP, вроде, надо "set", а не "setx".

jerri
19.07.2018, 20:31
вообще хорошо
почти как у меня :)

krt17
19.07.2018, 21:30
В XP, вроде, надо "set", а не "setx".
Это разные команды.
Для любителей альтернативных наркотических расцветок, заходим в Z80Asm>Settings>Main settings и комментим цветовую схему по умолчанию. После этого можно переключать на любую из дефолтных Preferences>Color Scheme, а также устанавливать и применять новые из пакаджей.

почти как у меня
Это у тебя почти как у меня :)

jerri
19.07.2018, 23:14
krt17, а ты давно используешь такую связку?

krt17
19.07.2018, 23:50
Да как увидел подсветку от psb так и использую, года 4 точно, раньше было настроено отдельно на всех компах, а тут решил в дропбокс закинуть, и через %zxide% запускать. До этого в vim, notepad+ и ultra edit сидел, но это все не то.

Bedazzle
20.07.2018, 23:58
господа, а попробуйте, у вас получается компилять с ключами
sjasmplus --msg=error --nologo ?
У меня 1.10.1 валится

https://i.imgur.com/CR4BE7N.png

krt17
21.07.2018, 00:34
--msg
В исходниках нет, выпилили наверное, у меня не падает, просто игнорит.

Bedazzle
21.07.2018, 00:50
В исходниках нет, выпилили наверное, у меня не падает, просто игнорит.

Ну я убрал пока, оставил только --nologo.
Как-то так сейчас выглядит:
https://i.imgur.com/vveZUjy.png

Shiny
21.07.2018, 07:05
я не использую столь неведанные ключи.

Shiny
06.08.2018, 11:13
самая мизерная бестолковая программа:


org $8011

m1:
add a,c
out ($FE),a
jr m1


5 байт

daniel
06.08.2018, 20:41
5 байт
4 байта:
https://zxaaa.net/view_demo.php?id=11307

org #4000
loop out (254),a
jr loop-1

Spectramine
06.08.2018, 23:53
4 байта:
https://zxaaa.net/view_demo.php?id=11307

org #4000
loop out (254),a
jr loop-1

Причем, что характерно, эффект выглядит по-разному на разных машинах)

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

Особенно интересно, по сравнению с остальными, он выглядит на жёлтом Скорпионе)

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

И кстати, этот эффект ведет себя по-разному на желтом Скорпионе на Спектакуляторе/ZXMAK2/Unreal и в Fuse со включенными прерываниями - в первом случае вертикальные полоски на бордюре едут, во втором - стоят на месте. Интересно было бы выяснить, как он ведет себя на реальном желтом Скорпионе.

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

Просьба к владельцам желтых Скорпионов - для проверки правильности работы эмулей выполнить следующее:
сбросить Скорпион, перейти в 48 бейсик, и набрать: POKE 16384,211: POKE 16385,254: POKE 16386,24: POKE 16387,251: RANDOMIZE USR 16384 <Enter>, и отписаться здесь о результатах - стоят ли вертикальные полосы на бордюре на экране, или едут.

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

Похоже, я разобрался. В Fuse делается выравнивание на четный такт цикла М1 для Скорпиона независимо от того, в ОЗУ выполняется код или в ПЗУ, а в остальных эмулях - только если в ОЗУ. Подозреваю, что второй вариант правильный, и полоски должны ехать.

Labrador
06.11.2018, 16:07
Нашел вроде не плохую IDE для разработки под спектрум. Это надстройка над VSCode - https://github.com/Dotneteer/spectnetvsc
Есть такая же для Visual Studio, но ее я не пробовал, т.к. Linux использую.

Andrew771
10.11.2018, 22:43
В "самоучителе по ассемблеру" вообще дичь была написана, типа "представляйте что регистры процессора это как переменные бейсика".
ИМХО, для начинающих - хорошая аналогия. Ограниченное количество переменных типа byte - a,b,c,d,e,h,l или типа word - bc,de,hl, а также "переменная" для чтения из памяти или запись в память (hl), с помощью которых только можно писать.

Vadim
11.11.2018, 09:19
ИМХО, для начинающих - хорошая аналогия

Для будущего *****кодера хорошая аналогия, для хорошего программиста - нет. Почему? Потому что программа на асме пишется иначе. Переменные все хранятся в ОЗУ. В регистрах процессора только текущие рабочие переменные, типа циклов, текущих данных и т.д. А если мы учим изначально неправильно что в итоге? Я видел коды, которые писали люди с таким вот уклоном. Это ужасно. Нет. ужасТно.

jerri
11.11.2018, 11:36
Для будущего *****кодера хорошая аналогия, для хорошего программиста - нет. Почему? Потому что программа на асме пишется иначе. Переменные все хранятся в ОЗУ. В регистрах процессора только текущие рабочие переменные, типа циклов, текущих данных и т.д. А если мы учим изначально неправильно что в итоге? Я видел коды, которые писали люди с таким вот уклоном. Это ужасно. Нет. ужасТно.

ссылку в студию бро!
где ты это видел?

goodboy
11.11.2018, 12:59
буквально на днях увидел как R используют в качестве триггера.
сбрасывается/устанавливается 7ой бит

ld a,r
rla
jr c,

jerri
11.11.2018, 13:47
буквально на днях увидел как R используют в качестве триггера.
сбрасывается/устанавливается 7ой бит

ld a,r
rla
jr c,

практически во всех играх от jonnatana smith

goodboy
11.11.2018, 14:23
он вроде только определял есть прерывание или нет
ld a,r
......
jp po,
ei
а здесь ты сам устанавливаешь/сбрасываешь бит

jerri
11.11.2018, 16:42
он вроде только определял есть прерывание или нет
ld a,r
......
jp po,
ei
а здесь ты сам устанавливаешь/сбрасываешь бит

не не он делал так

на прерываниях вешал


ld a,#ff
ld r,a


а потом в коде звукарика



ld a,r
ret m

а на прерывания он клал с пробором

Vadim
11.11.2018, 19:48
ссылку в студию бро!
где ты это видел?

Ссылку сейчас я не дам, т.к. это я видел разбирая какие-то программы, вспомнить сейчас нереально. Если я сказал, что так это так, значит на то были основания, а не сиюминутная фантазия. Опыт у меня не 2 года, а 28 лет. Как точно сказать, что вот именно в этой вот программе так. Из ужасного кода, что вспоминается это ZYX boot, потом интро одного моего знакомого, которое он писал в 1998г для Artcomp (не то, что потом в итоге было, то что вы найдете - другого автора и совсем иное). Когда он мне его принес (интро) и спросил "посмотри, что может тут не так?", я глянул исходник, и даже первые минуты не мог сказать что. Там всё не так. Было смешно, я реально рассмеялся тогда (кое что у него не работало ещё, ошибки были, вот и принес показать). Т.е. всё нужно писать совсем не так как написал он. Учился он именно по книжкам Инфоркома, по вот этим аналогиям. Позднее не раз подобное видел. Это напоминает то, когда человек изучает иностранный язык и делает первые шаги в нем, пишет текст или пробует говорить. Коряво и убого.

krt17
11.11.2018, 20:02
28 лет
За 28 лет разглядывания чужого кода уже можно преодолеть барьер и написать что то самому. Да нет конечно, я прикалываюсь, намного приятнее и лучше повышает самооценку обсирание тех кто

делает первые шаги

Andrew771
11.11.2018, 20:13
Для будущего *****кодера хорошая аналогия, для хорошего программиста - нет.
так многие с *****кода и начинают. И я в том числе. Идеально сразу взять и написать невозможно.

Vadim
11.11.2018, 20:38
так многие с *****кода и начинают. И я в том числе. Идеально сразу взять и написать невозможно.

Я не говорю, что можно взять так и сразу писать красиво, хорошо. Многие просто наступают на одни и те же грабли, в т.ч. те, что положил Инфорком. Сначала вводят представление о ПЭВМ как о "бейсик-машине", что бы пользователь вжился в эту парадигму, а потом говорят "а на самом деле всё не совсем так, вернее всё совсем не так, но вы делайте как раньше". Это в корне неверный подход, о чём я писал в самом начале темы. Если человеку объяснить, как примерно устроена ПЭВМ, что такое двоичная система исчисления, что бы он действительно это понял, а не так взял это "на уме", то с шестнадцатеричной записью проблем не будет. И далее, когда субъект знает, как устроена ПЭВМ можно его учить программировать. Основы программирования можно получить ранее, а можно и не получать. Я, к примеру, до Спектрума программировал на МК-61, просто прочитав описание команд, посмотрев примеры программ с комментариями. Понять зачем нужен цикл, условия, переходы, арифметические и логические функции несложно. Не нужно для этого заканчивать университеты и академии. Можно конечно изучать что-то вроде бейсика и паскаля. Но. При переходе на асм, нужно сначала изучить архитектуру ПЭВМ и процессора. Аналогии с бейсиком тут не уместны. Учитель (или автор книги учебника, не важно), должен подсказать, как пишутся программы, какие есть наработки, шаблоны, как в общем выглядит структура будущей программы, какие бывают "хинты", ловкие решения для конкретного CPU и компа и т.д. Например, в руководстве по ОС CP/M приводился скелет программы, автор системы на пальцах объяснял как именно работать с файлами, символьными устройствами и давался для примера листинг простейшей программы.

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

Shiny
11.11.2018, 21:24
Хе, сравнение переменных с регистрами? Сколько будет переменных в Бейсике, и как это число свяжется с регистрами?

Изложение основ пригодится в литературе, предназначенной для начинающих, другие главу просто пролистают. В книге по MK-14 (это такой калькулятор от дедушки Клайва) я встретил важный акцент на алгоритмизации и на умении мыслить алгоритмично.

Напишите простые задачи: подсчет суммы чисел 1-20 и выбор максимального из трех чисел.

С этого и нужно начинать, а перейти к необходимости изучить ассемблер легко: привести примеры на Бейсике и на ассемблере. Тогда сразу видно, в чем преимущество ассемблера - скорость и те задачи, с которыми Бейсик не справится.

JeRrS
12.11.2018, 14:49
krt17, Vadim - Дальше по сути и без ругани

Shiny
12.11.2018, 15:08
вспомнил про R. Кажется, на wos Hikaru предлагал экзотический способ использования R как счетчика цикла.

goodboy
12.11.2018, 15:16
иногда (в разумных пределах значения) и I используют

Spectramine
12.11.2018, 18:06
вспомнил про R. Кажется, на wos Hikaru предлагал экзотический способ использования R как счетчика цикла.

Есть загрузчики ленточные, которые его так и используют. Тело цикла ловли фронта: IN L,(C): JP (HL) , а количество повторений цикла накапливается в R.

Killer
12.11.2018, 19:26
Вспомните еще про ксорки которые на R привязаны. Сам такое делал, и у многих такое видел, но все это проходится нормальным отладчиком.

Shiny
12.11.2018, 20:22
интры от GOLDEN DISK проходятся, как же(:

Vadim
12.11.2018, 20:33
Вспомните еще про ксорки которые на R привязаны.
Все ксорки от Bill Gilbert были такими, это типа защита от пошагового отладчика. Но я их раскрывал, хоть и долго по времени. А когда появилась прошивка Турбо 90, то в 99% случаев можно было или по NMI выйти в отладчик и увидеть загрузчик или по ресет выйти в бейсик и опять же увидеть потом загрузчик в отладчике, получив ключ, загрузчик родной уже не нужен был.

Shiny
12.11.2018, 20:38
оффтопите граждане

Shiny
15.11.2018, 09:30
Не знаю, кому как, но мне настоящий экстаз приходит после кодинга процедуры без оглядки на IY=#5C3A

Hacker Grey
16.11.2018, 16:48
Да, есть такой барьер. Но до его преодоления, писав только на языках высоко уровня (и бейсике в тч), не осознавая как все внутри устроено, разложено по ячейкам, регистрам и полочкам, испытывал какое то уважение к z80 и к компьютерам, - как к непознанной девушке.
А познав, начал его и так, и эдак, и во все регистры. Как обузданную лошадь. Познание - не всегда благо, для психики.

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

Shiny
16.11.2018, 18:42
Только, опять же, ни в коем случае не по формуле синуса из калькулятора и не по проверке конечных координат и изменением направления, а по набитой в ручную табличке.

Это уже преодоление другого барьера(: Таблицу Синусов иначе считают.

Hacker Grey
16.11.2018, 19:04
Таблицу Синусов иначе считают.
Ну почему же - в ПЗУ хороший калькулятор с плавающей точкой - многие им таблицу синусов и считают. Не заранее же её в бейсике рассчитывать и потом на диске хранить - это моветон.

Shiny
16.11.2018, 20:51
и кто будет ждать длительный расчет?

Destr
16.11.2018, 20:57
Ну почему же - в ПЗУ хороший калькулятор с плавающей точкой - многие им таблицу синусов и считают. Не заранее же её в бейсике рассчитывать и потом на диске хранить - это моветон.
Для скролла (и многого другого) никакая таблица синусов вообще не нужна. Там даже не синус, а механизм приращения некоторой константы (ну я называю для себя "гравитация") к вертикальной скорости смещения. Всё это на лету и занимает совсем мало байт и скорости.
Всё это актуально и для прыгающего и бегущего волнами и дочерта всякого...

Hacker Grey
17.11.2018, 01:14
механизм приращения некоторой константы
Воооот , и попались, - я как раз про это и говорю - значит вы не кодер и не преодолели барьер высокоуровневых языков. Прибавление константы к координате - это и есть бейсиковый подход. Кодер сделает таблицу на 256 байт расположенную по align #100 , включающую полный цикл синуса и просто инкриментирует младший байт регистра-указателя ( однобайтовый индекс) без всяких проверок на переполнение - и все само зациклится

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


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

krt17
17.11.2018, 01:41
значит вы не кодер
Вы же наверное ходили в школу и в курсе про производные? С ускорением как говорит Destr тоже неплохо, но траектория немного другая.

Shiny
17.11.2018, 08:03
надиси депакинг анд декрючинг ни кто не отменял - но если искуственно не торомозить, он мгновенно пролетит

Было бы интересно посмотреть на плод твоих трудов.

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


Прибавление константы к координате - это и есть бейсиковый подход.
ахах, это 5.

Destr
17.11.2018, 15:48
значит вы не кодер и не преодолели барьер высокоуровневых языков
Может и не преодолел. Но на спеке всего мало - и тактов и памяти, так что хранить табличку - роскошь. Там где можно без неё - лучше без неё. На взгляд ну никто не отличит "настоящий" синус от синусоподобной математики. Ну никак, ибо разрешение на спеке тоже маленькое. все тонкости спрячутся в сетке пикселей...

ZX_NOVOSIB
11.02.2019, 18:21
https://dotneteer.github.io/spectnetide/ - а вот это шо такое и с чем его едят?

Shiny
11.02.2019, 18:36
Это приблуда под Visual Studio

krt17
11.02.2019, 23:18
шо такое
Прикольный асм, не хватает только структур и именованных скопов (ну типа module в сиджасме). Надо чутка подождать.

andrews
13.10.2023, 10:10
Внезапно понадобилась привычная среда с быстрым развертыванием. Сделал из портабле версии сублайма.
http://gamergy.ru/files/zxIDE.zip
Распаковать куда угодно, запустить install.bat (добавит пару ярлыков и zxide переменную среды). Все можно ломать барьеры!
Состоит из актуального sublime text 3, unreal 0.38.3, sjasmplus 1.10.1 и подсветки от psb.
В z80 изменены только скрипты запуска асма и эмуля. В самом саблайме по ctrl+b сделан Build and Run.
Мне данной конструкции хватает чтобы ничего не делать, ничего не делать очень для меня в ней удобно :)
Ассоциации файлов нет, кому надо сами сделают, я и на ярлычек нормально перетаскиваю. Можно из папки example скомпилить пример, будет создана тапка и снап. Для самого ленивого старта пойдет. У меня на w10_64 все работает, за остальных не уверен, возможно надо будет переписать сверху sublime под 32.

у кого этот архив сохранился? Ссылка битая, перезалейте куда-нить плиз

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


https://dotneteer.github.io/spectnetide/ - а вот это шо такое и с чем его едят?
тоже аннигилировалась

Хотя можно и не восстанавливать.
Барьер преодолевается с помощью примеров из SJASMPLUS и Notepad++


DEVICE ZXSPECTRUM48

org 8000h

start: ld a, 2 ;
call $1601 ;
ld bc, string_end - string ;
ld de, string ;
call $203c ;

ret ;

string:
db "Hello, zx spectrum!",$0d ;
string_end:


; SAVEBIN "noise.bin",$8000,code_end - $8000


savesna "noise.sna",start

Если размещать свой файл в папку SJASMPLUS\examples\ZX-Spectrum\xxx и не прописывать путь к расположению sjasmplus.exe, то батник выглядит
как для других примеров, но с именем вашего файла.
Запускается ( в моем случае) двойным кликом по noise.sna, если установлен Unreal Speccy Portable.

Spectramine
13.10.2023, 17:58
у кого этот архив сохранился? Ссылка битая, перезалейте куда-нить плиз
https://easyupload.io/94dx0r