Pull to refresh
140
0
Сергей @tronix286

User

Send message

Я не понял из заголовка про первый ноутбук. Первый ноутбук где? У фирмы компак? У вас в коллекции?

Потому что на "первый в мире ноутбук" - это совсем не тянет. Были ноуты и на 8088 процах, вполне себе формфактора "ноутбука", например Zenith SuperSport 8088. И на двушках были, и уж тем более на 386 процах...

А этот компак - ну обычный ноут, не хуже не лучше сотни других моделей того времени. Но уж никак не "первый".

Только митолзон мт-2, только хардкор!

Интересно, а жигули случайно не на роторном двигле, который «догонялка»?
Я человек простой — вижу нарисованную кляксу и говорю что это клякса, а не заяц, бегущий по заснеженному полю.
На первом — рисунки человека не умеющего рисовать, которого заставили рисовать;
На втором — аниме художник.
Хорошо, «Колобок II», или «Колобок возвращается!»
Такую игру надо под ZXСпецтрум делать, если уж делать. Типа наш ответ диззи. Ну или под денди, потому что достаточная платформа по техническим хар-кам для сабжа. Потом можно даже на демопати каком ее показать…
Ну, если считать архитектуру PDP-11 чисто советской разработкой, то да, стянуто было «не всё».
Перейти из C во что угодно можно плюс-минус за день. А вот перейти из условного «PHP» в C за день не получится.
В следующей части я как раз хочу заняться установкой ОС, да не абы какого досвиндоса, а именно такой ОС, которая раскроет потенциал 286 процессора наиболее полно.

Установить можно всякое, что раскроет потанцевал, а вот пользоваться этим всяким — никак нельзя. Ну, в смысле OS/2 и прочие юниксы/qnx поставить можно, оно запустится, а делать то в них что — правильно, ничего, так как софта для них 0 помноженный на 0. Собрать что-то современное для них сложнее hello world — боль и ад, так как компиляторы еще только начинают догадываться о возможном существовании long long типов. Остается только одно — возможность в OS/2 запустить DOS-софт, но с костылями и тормозами.
Поэтому, как это ни странно, единственная верная ОС для 286 — это DOS. Ну, можно еще и Windows 3.x, так как для него хоть какой-никакой софт найти можно.
У такой игры просто обязан быть екзешник для запуска в DOS, имхо
Старые проекты на микроконтроллерах Atmega с программной реализацией протокола USB. В них используется режим Low Speed, который устарел и не поддерживается в Windows 7

То, что USB 1.1 устарел — спорить трудно. То, что он не поддерживается в Win 7 — неверно.
А как делать? Ставить в сигнализацию распери пи/любой другой SoC с линух на борту, чтобы можно было IP-камеру подключать, вместо копеечной атмеги/стм32 или, на чем там плата эта собрана. Ну так и цена вместо ~0.15$ за средний стм32 будет ~50$ за SoC, что очевидно никак не удешевит конечный продукт. И еще наверное стоит понимать, что это — не система видеонаблюдения изначально. Изначально оно — все-таки сигнализация. А фотокамера там — так, чисто свистоперделка сбоку на саморезы прибита, вдруг какому-то 1.5 человеку нужно будет. Ну а с микроконтроллером общего назначения, типа стм32 или esp или что там у них, припаять всякие Ethernet трансформаторы, поднять полноценный стек TCP/IP, написать декодер H264 и грабить фреймы с IP-камеры — это надо прям реально заморочится, чисто из-за любви к искусству, типа спортивного программирования, ну как демки в 64 байта пишут, вот что-то из этой серии, чтоб все остальные эмбедеры в мире обосрались, как чувак может. Ну и последнее, раз уж тут у нас 2G, то что бы хоть какую-то картинку через них протолкнуть, разрешение 640x480 более чем. Это примерно ~100Кб джипега, которые, скажем, в каких-нибудь лесах Карелии, будут по постоянно падающем, или вообще отсутствующем сигнале 2Г заливаться на сервер очень не быстро.
Статью не читал, но заголовок, к сожалению, пришлось. Так вот, помня школьную физику за ~5 класс, мы знаем что ток != напряжение. Поэтому на процессор мы можем подавать хоть 2А, хоть 2000А — больше чем ему нужно, он не возьмет. Очевидно, что «повышение тока» не убьет не только AMD Ryzen, но и любой другой процессор, будь то Intel или, вечная ему память, Cyrix.
Меня если честно очень удивляет отсутствие строгой типизации во всех подобных скриптовых языках. Какого типа и размера переменная i? Что будет, если я ее сдвину на 8 или 16 вправо? Или отниму из нее 255. Как мне работать с отдельными битами в этом языке, если я понятния не имею, какой размер у переменных. В Паскале с этим было все строго.
Походу внешняя синхронизация — один из разъемов подписан как «ВЧ» и сам разъем по исполнению ВЧ.
Ну, наличие ВВ51 как бы намекает на RS232, хотя микросхем приемо-передатчиков не видно, но могли и на транзисторах собрать. Фотка с платами увы низкого разрешения. Так что компьютер мог быть любой, имеющий подобие последовательного порта. А софт… Софт, конечно, вопрос интересный.
Для создания эскизов.
Не, прогнал я, работают там макросы и табличка со списком зарезервированных слов создается. Но, тем не менее, части кода все равно нет.

Как я компилил? Во-первых сконвертировал все файлы из UNIX-like [LF] в DOS-like [CR][LF], иначе многие досовые ассемблеры с ума сходили. Потом, собсна, начал подбирать ассемблеры — пробовал Intel ASM86 ver 3.1 / 3.2, Digital Research CP-M 8086 Assembler ver 1.1, MASM v1.0, MASM v3.0, MASM v4.0, MASM v5.0 and Borland TASM v4.1. В итоге остановился на MASM v4.0, с остальными были разные проблемы. Создал makefile, куда просто накидал все ASM-файлы в кучу. Вылезли небольшие проблемы в паре мест с компиляцией, пофиксил вот здесь:

GWEVAL.ASM line 452: MOV DX,OFFSET 256*100+OPCNT replaced to MOV DX,25600+ OFFSET OPCNT
Потом объединил файлы MATH1.ASM и MATH2.ASM в новый большой MATH.ASM, и там тоже поправил чутка:

MATH.ASM line 1311: MOVS ?CSLAB,WORD PTR ?CSLAB replaced to MOVSW
MATH.ASM line 5020: MOVS ?CSLAB,WORD PTR ?CSLAB replaced to MOVSW
MATH.ASM line 5022: MOVS ?CSLAB,WORD PTR ?CSLAB replaced to MOVSW


И на этом все, все файлы стали собираться без проблем в объектники, но итоговый результативный файл получить не удается, так как банально отсутствуют процедуры:

Unresolved externals:

MAPSUP in file(s):
GIOKYB.OBJ(GIOKYB)
POKFLT in file(s):
GWMAIN.OBJ(GWMAIN)
SCRINP in file(s):
SCNDRV.OBJ(SCNDRV) GWSTS.OBJ(GWSTS)
POLLEV in file(s):
GWSTS.OBJ(GWSTS)
TRMCOM in file(s):
GIOCOM.OBJ(GIOCOM)
SCRATR in file(s):
GWSTS.OBJ(GWSTS)
SETCLR in file(s):
GWSTS.OBJ(GWSTS)
PNTINI in file(s):
ADVGRP.OBJ(ADVGRP)
SCROUT in file(s):
SCNDRV.OBJ(SCNDRV) GWSTS.OBJ(GWSTS)
SETATR in file(s):
ADVGRP.OBJ(ADVGRP) GENGRP.OBJ(GENGRP)
CSRDSP in file(s):
GIOKYB.OBJ(GIOKYB) GWSTS.OBJ(GWSTS)
...etc...


В коде их нигде нет. Канешн, можно взять уже скомпиленный GW-BASIC с более-менее похожей версией, дизассемблернуть, найти места вызовов отсутствующих процедур и тупо из дизасма воссаздать нужные функции. Но, оставляю это для других энтузиастов.
Там нет списка зарезервированных слов BASIC, соответственно не развернуть макросы BINTRP.H и др. Походу у них какая-то самописная утилитка была, которая проходилась по дефайнам и собирала нужный инклюд в зависимости от. Ее не положили. Так что «из коробки» не собрать. Нужно допиливать напильником. Я думаю, фанаты справятся, а мне уже лень.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity