- 
- ? Дмитрий
 - 26.04.2017 15:49
 Перевести плееры с асма спека на асм БК, подкорректировав вывод в регистры AY - больше никак. Сырцы плееров есть в архиве с сырцами плеера Бульбы.
- ? Дмитрий
 - 26.04.2017 15:11
 >> А уже из этих модулей можно и плеер сварганить
 Так есть же плеер с сырцами Бульбы с мульеном форматов. Только он там, емнип, встроил в плеер эмулятор zx и формат пережевывает чуть ли не оригинальный ZX-плеер, который загружен в эмулятор. А сам плеер уже ловит регистры в эмуляторе и генерит звук по ним. Давно ковырял исходники, многое уже не помню и могу ошибаться.
- ? Дмитрий
 - 25.04.2017 17:58
 void CMotherBoard::RunOut()
 {
 // Run all commands to function end
 CDebugger::InitOutMode();
 UnbreakCPU(GO_OUT);
 }
 ¤
 Почему InitOutMode вызывается по имени класса (а где он создан?), а не по определенному CMotherBoard->m_pDebugger??
 ¤
 >> Добавлю что нежелательно писать
 Это для примера, для полного понимания.
- ? Дмитрий
 - 25.04.2017 15:06
 Хм и еще одно сомнение: CMotherBoard::SetWord и GetWord в switch в нескольких OnSetSystemRegister используется num и тут же вычисляется адрес через addr, а ветке default опять же addr.
- ? Дмитрий
 - 25.04.2017 14:53
 И не проще ли для ускорения вычислять адрес один раз в переменную, чем каждый раз заново?
- ? Дмитрий
 - 25.04.2017 14:51
 Еще вопрос:
 ¤
 В CMotherBoard::GetWord и SetWord вычисляется адрес как m_MemoryMap[nBank].nOffset + (addr & 007777). А в CMotherBoard::GetWordIndirect и SetWordIndirect как m_MemoryMap[nBank].nOffset + (addr & 007776). Т.е в первом случае маска &O7777, а во втором &O7776. Тут не ошибка ли?
- ? Дмитрий
 - 25.04.2017 11:24
 >> между поклонниками строгой типизации и сишниками, постигшими дзен Си
 Я ни в коем разе не в плане холивара. Каждый пишет как ему удобнее. Просто везде, на каждом углу говорят: хочешь изучить Си - читай код профессионалов. В принципе согласен (что и делаю), но в 99% случаев код написан профи для профи и начинающему разбирать профи-кашу, вкупе с полностью отсутствующими комментариями в коде (не в данном случае), часто не под силу, особливо не знающему вышеописанных тонкостей.
 ¤
 >> Так, если писать много кода не лень
 Значит я не ошибся. Пока начинающий - не лень. Надо уметь писать полностью. Когда опыт придет, можно и сокращать. Когда детей учат писать - заставляют писать правильно. Научится - пусть хоть стенографирует. :)
 ¤
 Благодарю. Появятся вопросы - напишу сюда еще.
- ? Дмитрий
 - 24.04.2017 22:16
 Опытные сишники, просветите в следующем. В качестве Си-экспириенса разбираюсь в сырцах эмуля. Вроде все понятно, но натыкаюсь на некоторые места, коих насчитал 6 - а именно: реализации get_src_arg/get_dst_arg/set_dst_arg. С чем сравнивается, к примеру, m_nMethSrc (метод адресации 0..7) в коде:
 ¤
 if (m_bSign)
 {
 m_datarg = (m_nMethSrc) ? GetByte(m_nSrcAddr) : LOBYTE(m_RON[m_nSrcAddr]);
 }
 else
 {
 m_datarg = (m_nMethSrc) ? GetWord(m_nSrcAddr) : m_RON[m_nSrcAddr];
 }
 ¤
 ==0, !=0, больше чего-то, меньше? Компилятору мб и понятно что с чем кушать, но читающему непрофессионалу - вряд ли. С булевым значением все ясно - (m_nMethSrc) равнозначно (m_nMethSrc == true). А с целочисленной переменной?
 ¤
 Встретился еще один затык в CCPU::TranslateInstruction, в именно в if (nInterruptVector), но тут по смыслу оказалось (или показалось??), что эта запись равносильна if (nInterruptVector !=0)
 ¤
 Вот теперь думаю, а не так ли должен выглядеть код с явным указанием что с чем проверяется??
 ¤
 if (m_bSign)
 {
 m_datarg = (m_nMethSrc != 0) ? GetByte(m_nSrcAddr) : LOBYTE(m_RON[m_nSrcAddr]);
 }
 else
 {
 m_datarg = (m_nMethSrc != 0) ? GetWord(m_nSrcAddr) : m_RON[m_nSrcAddr];
 }
- ? Дмитрий
 - 18.04.2017 21:52
 Если RUN, то адрес 135242
- ? Дмитрий
 - 18.04.2017 10:22
 Просто по фразе
 ¤
 >> способ запуска Бейсик программ без компиляции, сразу
 ¤
 так и понимается, что компиляция не нужна от слова "совсем", на что я и написал, что это невозможно.
 ¤
 А по идее нужна программа, которой можно подсунуть дамп (к примеру 2000-37777) с исходником и уже сформированной таблицей кодов, из которого программа сделает запускаемый модуль, убрав все лишнее и исправив адреса текстовых строк (которые можно разместить после таблицы). Получится компактная программа, которая будет запускаться сразу.
- ? Дмитрий
 - 17.04.2017 22:32
 >> Где-то у меня был записан способ запуска Бейсик программ без компиляции, сразу
 Без компиляции это невозможно. Программа сначала должна быть оттранслирована в "шитый код". Далее MOV #<адрес_таблицы_кодов>,R4 и JMP @(R4)+
- ? Дмитрий
 - 17.04.2017 13:15
 >> как обычные бинарные из монитора БК10
 Была программулина, которая запускала код, получающийся при трансляции бейсиковских файлов - фактически таблица адресов п/программ. Но, если мне склероз не изменяет, недостатки в ней были. Главный - некорректная работа со строками, ибо код ссылается на них в сам исходник. Т.е. без исходника запуск был невозможен. Единственный плюс - мгновенный запуск программы.
- ? Дмитрий
 - 22.03.2017 21:34
 >> но теперь уже повторно найти, в каком образе видел, уже не получается
 http://pdp-11.ru/mybk/IMG/svib/06-97.img
- ? Дмитрий
 - 22.03.2017 21:21
 В 4-х цветное - бесполезно, в ч/б - использовать dithering (к примеру, Floyd-Steinberg). Самое простое - IrfanView.
- ? Дмитрий
 - 07.03.2017 20:24
 >> Clang LLVM для PDP-11
 Оо, это интересно. Я поглядел в сырцы на предмет написания backend'а для LLVM - там моих познаний в Си категорически недостаточно для написания. Максимум - парсер LLVM-асма для компиляции в код.
- ? Дмитрий
 - 07.03.2017 15:19
 Порылся в своих архивах - чет не нашел. Есть у кого асм-исходник блока эмуляции EIS/FIS/FPU? В СМК зашит обработчик только первых двух.
- ? Дмитрий
 - 03.03.2017 11:08
 А чем не устроила новая плата в корпус БК? Сделать на 1-2 1806, чтоб не городить этажерки на костылях. Либо сделать базовый комп на 1806 с разъемом для подключения второго 1806 со своими плюшками.
- ? Дмитрий
 - 27.02.2017 18:43
 Интересный оптимизатор у этой сборки. Нормально работает только -O1. С другими (-O2..-Os) простейший пример сложения двух float-чисел в асм-выводе (ключ -S вместо -c) теряет одно число! С -O1 оба числа на месте.
 ¤
 Кстати, -m10 работает только с отключенной оптимизацией. -mint32 также работает только с отключенной оптимизацией.
- ? Дмитрий
 - 26.02.2017 02:09
 И почему-то не работают опции "PDP-11 instruction set extentions" и "PDP-11 CPU model options" из bin\gcc-help.txt. Правда проверял я на сдвиге как раз. Пробовал и инструкции запрещать и модель ЦПУ менял - результата ноль.
- ? Дмитрий
 - 26.02.2017 02:03
 А исходник msoft-float\libgcc есть? Ручками вытащить все, что нужно, и собрать в один модуль, а потом его к асму цеплять. ASH/ASHC заменить потом на ROL/ROR.
- ? Дмитрий
 - 26.02.2017 00:20
 Обжи извлек, __adddf3 нашел. Но! В obj все ссылки на подпрограммы нулевые и фактически ссылаются на начало obj-кода. objdump не может (не умеет) брать имена из соотв. секции и подставлять вместо нуля. Как их искать вручную - я хз. Нужен исходник msoft-float\libgcc.
- ? Дмитрий
 - 26.02.2017 00:02
 1) Ключ -m10 не работает. Простейший пример:
 ¤
 int shift(int a, int b)
 { return (a >> b); }
 ¤
 int primer()
 { return shift(345,3); }
 ¤
 выдает ошибку:
 ¤
 test2.c: In function 'shift':
 test2.c:2:1: error: unrecognizable insn:
 (insn 8 7 9 3 (set (reg:HI 26)
 (ashift:HI (reg/v:HI 24 [ a ])
 (reg:HI 27))) test2.c:2 -1
 (expr_list:REG_EQUAL (ashiftrt:HI (reg/v:HI 24 [ a ])
 (reg/v:HI 25 [ b ]))
 (nil)))
 test2.c:2:1: internal compiler error: in extract_insn, at recog.c:2109
 ¤
 2) Запихнуть в обж код эмуляции FPU так и не могу.
- ? Дмитрий
 - 25.02.2017 20:27
 И еще. Не могу избавиться от "не-БК" инструкций. При использовании сдвига опция -Wa,-mno-extentions не работает - в код все равно суется ash/ashc.
- ? Дмитрий
 - 24.02.2017 18:33
 >>  смысле ручками дописать функции под ту операционку, под которую планируется.
 Я уже попробовал. В принципе годится. Не сахар, но уже что-то. Правда все include приходится выкидывать либо серьезно править. Но это решаемо, ибо мне не офис под pdp собирать.
 ¤
 >> Да, но никто процесс сборки не проверяет и никакого тестирования не проводится.
 Даже больше скажу - код никто уже не правит.
 ¤
 >> Должна быть тут - lib\gcc\pdp11-aout\4.6.2\msoft-float
 Нашел. А как сделать, чтобы при компиляции эти реализации сразу цеплялись к объектнику? Так сказать получить на выходе "все-в-одном", без зависимостей?
- ? Дмитрий
 - 24.02.2017 16:55
 Кстати, при отключении аппаратного fpu код ссылается на реализацию команд. А где сама реализация этих команд?
- ? Дмитрий
 - 24.02.2017 16:41
 >> PDP-11 для GCC4.x уже официально не поддерживается
 Его никуда не выпиливали. В последнем 6.3.0 все еще есть код для pdp-11. Надо только собрать под него компилятор.
 ¤
 >> Поэтому все ручками.
 Не, все ручками не годится. return (a+b) я и на чистом асме напишу. Я Си знаю на базовом уровне - код худо-бедно (не слишком сложный) прочитать смогу, а вот писать на этом ужасе - увольте...
- ? Дмитрий
 - 24.02.2017 01:55
 Не находит sys\types.h. Папку include взял от готового компилятора. Миллион ошибок из-за проблем в этих файлах. Нужна папка include, которая должна лежать в папке pdp11-aout.
- ? Дмитрий
 - 24.02.2017 01:34
 Все либы нашел.
- ? Дмитрий
 - 24.02.2017 01:07
 minGW32-gcc-6.3.0 у меня стоит (качал отсюда https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ ). Там этих библиотек нет.
- ? Дмитрий
 - 23.02.2017 21:07
 0xс0000005
- ? Дмитрий
 - 23.02.2017 21:07
 Благодарю.
 ¤
 Не запускается - говорит нет libgmp-10.dll и libiconv-2.dll. Нашел в инете, но с ними ошибка 0x00000005 при запуске.
- ? Дмитрий
 - 23.02.2017 20:32
 поддержки РТ-11 не надо. мне, по сути, нужно собрать в объектники сырцы, там уже сам выдерну то что нужно.
- ? Дмитрий
 - 23.02.2017 18:04
 Нет ли у кого готовых бинарников сабжа под win? Собирать с нуля для меня - темный лес. Либо сможет ли кто собрать готовый из последних исходников?
- ? Дмитрий
 - 29.11.2016 09:14
 Кстати, а никто не смотрел как организована "матрица" клавиш в современных клавах? Может проще отключить чип-кляксу и брать линии непосредственно с выводов пленки, чем городить адаптеры PS/2 на проце, который мощнее проца в БК??
- ? Дмитрий
 - 26.11.2016 14:06
 >> http://t-h-s.ru/bk/ad.rar
 Файл недоступен
- ? Дмитрий
 - 25.11.2016 20:47
 >> Да был такой архивчик, восстановлен с hdd Новака
 Ссылочку, плиз, в студию... И неплохо бы все восстановленное тоже...
- ? Дмитрий
 - 01.11.2016 22:42
 >> А БК уже 2 загнулись.
 Мб потому что Львов собран на простяцких микросхемах и там нет сложных микрух типа серии 1801ВП1-ххх?
- ? Дмитрий
 - 01.11.2016 15:04
 Экономили на всем - вот и слепили "из того, что было". Кто мешал сразу сделать аналог 11М? Кто мешал поставить меньшее кол-во МС памяти того же объема? Либо поставить 1 (да хоть импортную) как в 11М-01 Воланда? А сделать сразу с 256/512/1024 Кб доп. ОЗУ? С нормальным (пусть и невысокого разрешения - хотя бы 384х256) цветным видеоконтроллером? Не будем замахиваться на 256 цветов и выше - хоть 16-цветный? Да, машинка получилась бы дороговатая по сравнению с тем, что было.
- ? Дмитрий
 - 23.09.2016 21:04
 >> Если кто сумеет, пусть мне покажет, как это делается.
 Не помню уже как делал - примерно так (пусть поправят меня, если накосячил где):
 CreateFile("\\.\A:",GENERIC_READ+GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_NO_BUFFERING,NULL) + ReadFile/WriteFile + SetFilePointer + CloseHandle.
 ¤
 Читаем/пишем, ессно, целыми секторами.
- ? Дмитрий
 - 19.09.2016 21:00
 >> https://youtu.be/a9xz2OqGexc
 >> Пообсирайте шоль пока
 Музон из видоса есть в виде файла? Желательно в формате РокМонитора.
- ? Дмитрий
 - 01.08.2016 17:46
 Есть ли какие-то подвижки в проекте? Давно ни слуху, ни духу. Когда ожидать долгострой?
- ? Дмитрий
 - 13.05.2016 20:24
 А чой-то там заклеено "Экспертиза ЦРУ"?
- ? Дмитрий
 - 11.05.2016 14:25
 а чего непонятно? https://github.com/oitofelix/mininim/releases/download/v0.10/mininim-0.10.tar.gz ссылка есть
- ? Дмитрий
 - 27.04.2016 22:20
 Эти вопросы надо адресовать разработчикам десятки.
- ? Дмитрий
 - 12.04.2016 16:03
 >> А за такой конкретный обман этих "продавцов" просто выкинут с aliexpress
 Там море таких "шутников". И появляются все новые. Так что "выкинут", "честность" - это не про всех китайцев. Приятель заказывал ворох какой-то фигни, пришла половина рабочих, половина откровенно дохлых. Написал на форуме отзыв про этого  шутника, так он задолбал на ломаном англ. писать, чтоб приятель убрал негативный отзыв. Приятель наотрез отказался. Даже в случае полного возмещения стоимости покупки.
- ? Дмитрий
 - 12.04.2016 15:59
 >> Совершенно не такие. Речь шла об форматах SD(MMC) и CF(Compact Flash - твердотельный микродиск с эл.сигналами как у IDE/PATA-интерфейса),см. хотя бы http://www.kenrockwell.com/tech/lexar/600x-32gb.htm
 Я не то имел в виду. И я в курсе как выглядят SD и CF. Китайский CF на 8/16Гб может оказаться на самом деле закольцованной флэшкой на 1Гб, по цене полноценного 8/16 гигового аналога.
- ? Дмитрий
 - 12.04.2016 00:23
 >> CF - карты есть в продаже ... и на aliexpress.
 https://geektimes.ru/post/142651/
 ¤
 Эти карты будут типа такого "винта"? Не, спасибо...
- ? Дмитрий
 - 10.04.2016 16:09
 >> идеальным вариантом был бы не 5" вариант CD-диска, а уменьшенный стандарт - там что-то в районе 200 Мбайт объём.
 Без разницы. Диски уменьшенного размера и объема есть, а приводов нет. Так что все равно будет 5,25 привод висеть.
 ¤
 И да, согласен, писать на БК не нужно. Главное, чтобы читал. Писать архивы можно и на РС.
- ? Дмитрий
 - 10.04.2016 01:32
 >> у них на "гребенке"(IDC-34) из штатных 34 контактов отсутствует едва ли не половина, и,благодаря чему,сами эти дисководы ФИЗИЧЕСКИ не поддерживают форматы с объемом МЕНЕЕ стандартного
 >> 1.44М(нет датчика плотности "720/1.44",только "защита записи")
 У меня "полный" IDC флопа, один хрен не имеет датчика плотности. Надо искать старые флопы - последних лет выпуска (перед сворачиванием производства) 100% не имеют датчиков плотности.
 ¤
 >> Вообще, я бы хотел для БК пишущий CD-привод подключить, чтобы полноценно записывать-читать болванки.
 Нет никаких преград. Читать БК с сидюка может хоть сейчас (это обычное IDE-устройство), главное написать драйвер разбора структуры данных. А для записи нужен отдельный драйвер. Либо сразу писать прозрачный драйвер пакетной записи. Тогда чтение/запись такого сидюка ничем не будет отличаться от чтения/записи винта.
- ? Дмитрий
 - 07.04.2016 21:51
 А зачем? У меня вообще безо всяких программулек диски БК читались на РС и наоборот. Хз как насчет обычного КНГМД, но СМК делал это "из коробки". Там в одном месте задержка ставилась в два раза больше и все работало.
- 
		  «  
			1 |	... |	5 |	6 |	7 |	 8  |	9 |		  »  
	
?