Витамин, почему тебя так это волнует? Пусть делает как хочет, как считает нужным. Нет? Я думаю, если у Weiv возникнут какие-то потребности, он их реализует без лишних советов.
ei: halt: di
out (c),h ;chip1
out (c),L ;reg 0
ld b,e
out (c),c ;val #FD
ld b,d
out (c),b ;chip2
out (c),l ;reg 0
ld b,e
out (c),h ;val #FE
ld b,d
out (c),h ;chip1
out (c),L ;reg 0
in h,(c)
out (c),b ;chip2
out (c),L ;reg 0
in a,(c)
xor h
jr nz,gotcha
ld a,4
inc h
and h
gotcha
; 0 — no chip (FF FF)
; 4 — single AY (FE FE)
; 3 — double AY (FD FE)
; 1 — TS, no 1st (FF FE)
; 2 — TS, no 2nd (FD FF)
Формат такой записи может быть открытым (чтобы были сторонние инструменты просмотра/анализа). Движок такого проигрывателя — также может быть открытым, чтобы эти инструменты анализа создавать.
Тогда получим такую связанную умозрительную полуоткрытую систему: платный закрытый эмуль, который может записывать эти состояния и вообще всячески крут по разным направлениям. И открытый инструментарий (формат записи, движок проигрывания и скриптования записи), который «притягивает» и привязывает разработчиков к основе — к Spectramin'у.
Все эти репозитории и прочая — не серебряная пуля, их использование не даст никакой гарантии хорошего результата. А вот неиспользование может породить кучу проблем, забивание на которые в длительной перспективе может привести к умиранию проекта. Это как писать говнокод — быстро и просто, пользователи довольны (им же похрен на внутренности, главное чтоб работало и задачи выполняло). Но долго такой проект жить и развиваться не сможет.
С точностью до строки кода? А возможность откатить изменения протокол дает? А работать с разных машин и безболезненно сливать изменения?
Если что, на bitbucket.org есть приватные бесплатные репозитории. Бонусом там же можно выкладывать бинари для скачивания и делать несложные лендинги. На github приватные репозитории платные, $7/mo.
Что касается меня, то я бы очень сильно оценил что-то в этом направлении hype.retroscene.org/blog/dev/73.html
Как доведённая до абсурда идеала, это могло было бы быть так:
1) потактовая запись состояния всего эмулируемого оборудования (винчестеры и ОЗУ нынче огромны и запись состояния даже потактово, даже в прямом виде без сжатия на лету влезет без проблем).
2) проигрывание этого состояния (с любой дискретизацией, от фрейма до такта) с возможностью скриптинга (LUA или JS — что угодно) — позволит проанализировать весь путь выполнения программы.
2.1) скриптинг с возможностью отрисовки дополнительных окон — даст возможность визуализации участков памяти (графики, текста,
игровой карты)
2.2) потактовый просмотр луча отрисовки — тоже весёлая штука.
3) ну и поддержка отладчиком всяких метаинформации о метках и проч от sjasm (или других компиляторов).
Ориентировка на hardcore-аудиторию может, конечно сузить круг покупателей, но зато задачи интересные. Как-то так.
<зануда_mode>
С учетом того, что всего эмулей с открытым исходным кодом было даже меньше двух десятков, ЕМНИП, «десятки оставленных за скобками» эмуляторов как раз и будут всеми.
</зануда_mode>
Ладно, принято:)
Коварный вопрос от опенсорсного фанатика с подвохом: ты разработку ведешь в приватном репозитории или по-старинке, на рабочем компе и бекапы в архивах?
Ты пытаешься мне доказать, что некоторая часть открытого софта очень неплоха? Да, это вроде очевидное место.
Но оба эмулятора, которыми я пользуюсь активно — закрытый софт. И если бы мне пришлось пересесть на только открытый софт — я бы лично проиграл. Поэтому твой аргумент не катит.
Я всего лишь указал на несоответствие твоих слов реальности («наличие открытого кода совершенно никак не помогло десяткам эмуляторов» — не забываем про парашютики Unreal Speccy, ассемблер из EmuZWin, тот же Vortex, SjAsm, если расширить набор софта за пределы эмуляторов).
ld bc,#fffd
ld hl,#fe00
ei: halt: di
out (c),h ;chip1
out (c),L ;reg 0
ld b,e
out (c),c ;val #FD
ld b,d
out (c),b ;chip2
out (c),l ;reg 0
ld b,e
out (c),h ;val #FE
ld b,d
out (c),h ;chip1
out (c),L ;reg 0
in h,(c)
out (c),b ;chip2
out (c),L ;reg 0
in a,(c)
xor h
jr nz,gotcha
ld a,4
inc h
and h
gotcha
; 0 — no chip (FF FF)
; 4 — single AY (FE FE)
; 3 — double AY (FD FE)
; 1 — TS, no 1st (FF FE)
; 2 — TS, no 2nd (FD FF)
Binary Love:
766 — 10
d87 — 9
eaf — 7
000 — 6
dbd — 6
877 — 4
25e — 3
da4 — 2
791 — 2
671 — 1
636 — 1
Speccy 2:
с21 — 10
500 — 10
1fe — 9
3c6 — 8
63c — 8
ceb — 7
1ff — 6
c25 — 6
d59 — 6
107 — 5
ad6 — 4
01 — 766a5b9539bcb8e520ab672550ce1041.wav
02 — eaf72a8c8d9c8a8255ec019e77f5d87d.wav
03 — d87a939d81bf14ec7371bf26211f17ff.wav
04 — dbddb06fdfc90730ae074fa8fd4eefbf.wav
05 — 25e42383f5519abb14853630f05e2faa.wav
06 — 877e06f092043f1e899dbe7a9274550b.wav
07 — 000f0d1f000fbcfa29a66f9b06f3b272.wav
08 — 79124877eaa7919087bb35f37f560211.wav
09 — da45b7e6382cb11b06ad6f9953f30b00.wav
10 — 636df7829943e84b43b87ac2166df856.wav
11 — 6715a48a71d09139da510e6ebd578e8b.wav
Speccy 2
01 — c21076281d6edfd50f9b21579add1baf.wav
02 — 5007b1992e40e0c1f52db9c4dc0ac4f2.wav
03 — 1fe1daf511b2986fd9279667d406d945.wav
04 — 1ff35d9e36d5e8993d49fe6b5ca9269e.wav
05 — 3c6658aa6187787fc45cb594d2621704.wav
06 — 63c30f2248592a57a1faeb623e71ec68.wav
07 — ceb1b8235330a6e1989168805db72f19.wav
08 — c25f5003f38bb5461e72275818229787.wav
09 — 10700a827360bbec25dc50c3e33b23c6.wav
10 — d59c8664b280c4a82b77dc50c0796e4d.wav
11 — ad6b127902e9f6e5fefb7369cc9f3532.wav
Результаты моих прослушиваний по убыванию качества на мой слух.
Сравнивал в наушниках AKG 271MK II если это поможет :D
Тогда получим такую связанную умозрительную полуоткрытую систему: платный закрытый эмуль, который может записывать эти состояния и вообще всячески крут по разным направлениям. И открытый инструментарий (формат записи, движок проигрывания и скриптования записи), который «притягивает» и привязывает разработчиков к основе — к Spectramin'у.
Все эти репозитории и прочая — не серебряная пуля, их использование не даст никакой гарантии хорошего результата. А вот неиспользование может породить кучу проблем, забивание на которые в длительной перспективе может привести к умиранию проекта. Это как писать говнокод — быстро и просто, пользователи довольны (им же похрен на внутренности, главное чтоб работало и задачи выполняло). Но долго такой проект жить и развиваться не сможет.
Если что, на bitbucket.org есть приватные бесплатные репозитории. Бонусом там же можно выкладывать бинари для скачивания и делать несложные лендинги. На github приватные репозитории платные, $7/mo.
Как доведённая до
абсурдаидеала, это могло было бы быть так:1) потактовая запись состояния всего эмулируемого оборудования (винчестеры и ОЗУ нынче огромны и запись состояния даже потактово, даже в прямом виде без сжатия на лету влезет без проблем).
2) проигрывание этого состояния (с любой дискретизацией, от фрейма до такта) с возможностью скриптинга (LUA или JS — что угодно) — позволит проанализировать весь путь выполнения программы.
2.1) скриптинг с возможностью отрисовки дополнительных окон — даст возможность визуализации участков памяти (графики, текста,
игровой карты)
2.2) потактовый просмотр луча отрисовки — тоже весёлая штука.
3) ну и поддержка отладчиком всяких метаинформации о метках и проч от sjasm (или других компиляторов).
Ориентировка на hardcore-аудиторию может, конечно сузить круг покупателей, но зато задачи интересные. Как-то так.
Внешний репозиторий на ура решает проблемы вида «сдох винт и все нажитое непосильным трудом» и «когда и зачем я писал этот код?»
С учетом того, что всего эмулей с открытым исходным кодом было даже меньше двух десятков, ЕМНИП, «десятки оставленных за скобками» эмуляторов как раз и будут всеми.
</зануда_mode>
Ладно, принято:)
Коварный вопрос от опенсорсного фанатика с подвохом: ты разработку ведешь в приватном репозитории или по-старинке, на рабочем компе и бекапы в архивах?
Какой, блядь, аргумент?!
Еще раз:
Данная конкретно взятая мысль не соответствует действительности. Точка.
Ты сам сейчас в попытке огнем и мечом воспитать приглючившихся фанатиков от опенсорса показал себя таким же фанатиком.
Но оба эмулятора, которыми я пользуюсь активно — закрытый софт. И если бы мне пришлось пересесть на только открытый софт — я бы лично проиграл. Поэтому твой аргумент не катит.
парашютикиUnreal Speccy, ассемблер из EmuZWin, тот же Vortex, SjAsm, если расширить набор софта за пределы эмуляторов).Не надо страдать СПГС. «Иногда банан — это просто банан» © Фрейд