Author |
Message |
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Sprinter SDK by NedoPC team предлагаю переименовать в nedoPC SDK и выпустить с поддержкой всех процессоров и компьютеров, которые сейчас поддерживает RW1P2 (Спринтер, Спектрум, Орион, Радио, Специалист). В дальнейшем предполагается добавлять в список поддерживаемых все новые nedoPC устройства... P.S. Выяснилось, что арифметика 16-битных целых чисел со знаком для процессора 8080 позаимствована мной из компилятора сей Small-C для CP/M: SMALL C v2.1 by Jim Hedrix ( http://www.cpm.z80.de/small_c/smallc21.zip ) - точнее из текстового файла CLIB.ARC, у которого был свой собственный копирайт: Small-C Library: Copyright 1984 J. E. Hendrix, L. E. Payne P.P.S. Немного истории (добавлено 19 ноября 2014 года): 28.04.2001 RW1P2 v1.0 (орион, спектрум) 15.05.2001 RW1P2 v1.1 (орион, спектрум) 16.01.2002 RW1P2 v1.2 (орион, спектрум, рк86) 18.01.2002 RW1P2 v1.2.1 (орион, спектрум, рк86) <--- первая версия где добавился тетрис в качестве примера20.01.2002 RW1P2 v1.3 (орион, спектрум, рк86, специалист) 12.06.2002 RW1P2 v1.4 (орион, спектрум, рк86, специалист + z80 спектрум и z80 спринтер + Linux порт) 26.04.2003 RW1P2 v1.5 beta aka Sprinter SDK (только z80 спринтер, только под Windows, причём с интегрированным редактором исходных текстов и эмулятором Спринтера): Дальнейшие модификации вплоть до января 2006 года никогда не релизились, от 1.4 они отличаются попиксельным графическим режимом в z80/speccy, использованном для построения хаотичных 3D гор, а также наличием nedoPC шрифта) UPDATE 2016: Предполагается выпустить "nedoPC SDK v2.0" с языком высокого уровня Robby (это переименованный RW1 v2), а потом, если всё получится, "nedoPC SDK v3.0" с опциональной поддержкой языка Си в лице пока ещё несуществующего компилятора nedoC UPDATE 2018: Все исходники SDK теперь живут на гитлабе: https://gitlab.com/nedopc/sdk
Last edited by Shaos on 19 Nov 2014 22:29, edited 18 times in total.
|
27 Aug 2004 13:29 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Одобряю Shaos: Вот как выглядела разработка софта с помощью линуксовой версии RW1P2 v1.4 в 2002 году (это cr0acker сделал скриншот для лора):https://www.linux.org.ru/gallery/screenshots/244277 | | | | cr0acker wrote: rw1p2 лучшее средство для создания программ для микрокомпутеров!Типа это еще один скриншот из серии, линух лучшая ОС для межплатформеной разработки! Типа слево на право: 1)Терминал rxvt, с октрытым вимом, в нём файл с описанием тайлов(спрайтов). 2)Terminal rxvt, с открытым вимом, а в нём сам текст программы 3)Терминал в котором происходит компиляция, 4)Терминал с миднайтом, бин2трд, который идёт вместе с рв1п2, создает неправильный пермишн в трдшнике, а миднайте я его аккуратненько правлю! На переднем плане емулятор Спекутрма-глюкалка(Да уж,давно новых версий не было:(). В емуляторе вобственно и запущенна программа, качалки там работаю, бак наполняется, еще и есть геологи, но они не попали на экран! Внизу экрана мы видим страницу проекта NedoPC( http://www.shaos.ru/nedopc), пакет рв1п2, является частью этого проекта! Оконный манагер АфтерСтеп! После ВМ, впечатления просто рулезные! Единственное, что есть грабля! Русские заголовки не кажет! Я блин уже и темы ручками подпровлял! А он всё равно не кажет! Вот РУЛЕЗ! >>> Просмотр (1280x960, 191 Kb) cr0acker ★ 02.11.2002 07:49:55 -08:00 Проверено: maxcom | | | | |
|
28 Aug 2004 07:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Ну тогда мне понадобится некоторая помощь товарищей - надо кое-что разработать и доработать.
|
26 Nov 2004 23:27 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
|
27 Nov 2004 07:15 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Основная задача ВСЁ переписать на RW1 и добавит пару новых программ. Помнишь настройщик конфигурации, что ты писал?
|
28 Nov 2004 20:47 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Угумс:) Правла он тока у мну и работал. Могу что нить подобное опять написать на сях теперь:)
|
29 Nov 2004 01:12 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Что-то решил вернутся к старой теме (в связи с перелопачиванием сайта nedoPC да и просто так - время пришло) - в качестве первого шага к созданию nedoPC SDK предлагаю первым делом все переписать на чистый Си (щас часть исходников на Си++) чтобы к примеру оно собиралось с помощью Pacific C for MS-DOS v7.51. А уже потом из C в RW1 переписывать потихоньку. В связи с этим также планирую добавить поддержку 8086 процессора в RW1P2 (который будет основой для nedoPC SDK) - чтобы была возможность получать COM-файлы для доса, работающие с VGA 320x200 (быстрая графика 256 цветов) или EGA 640x350 (медленная графика 16 цветов).
Last edited by Shaos on 21 Jan 2012 19:33, edited 2 times in total.
|
26 Nov 2005 12:07 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Некоторые утилиты уже сейчас можно переписать на RW1 и их интерпретацией займется новый интерпретатор RW0-байткода, который придёт на смену скрипту SHJOB
|
22 Apr 2006 20:01 |
|
|
acidrain
Senior
Joined: 28 Feb 2005 02:31 Posts: 159 Location: Krasnodar, Russia
|
ох, помнится мне, что несколько лет назад, при знакомстве с Shaos'ом я порывался на амигу портировать RW... а вот теперь думаю мож на аврку свою забацать? =)
|
23 Apr 2006 03:40 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Что-то мне думается, что надо NedoPC SDK в виде существующих эмуляторов-компиляторов на http://sourceforge.net поселять - там CVS есть
|
30 Oct 2006 21:53 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Процесс поселения буду отражать в соседнем топике
|
31 Oct 2006 20:01 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Вот список платформ под которые будет реализовываться nedoPC SDK:
1) DOS 16-bit (обычный MS-DOS или FreeDOS на 8086/8088 машинах)
2) DOS 32-bit (PMODE/W 32-битный расширитель доса - требуется как минимум 80386)
3) Windows 32-bit (Win9X и выше)
4) Linux x86 (обычный линукс на обычном пц)
5) Linux PPC (на маках с поверпц процессором)
6) MacOS X (на маках с поверпц процессором)
7) MacOS 9 ?
8) Amiga ?
9) Sprinter ?
|
06 May 2007 18:08 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Вопрос возник - нужно добавить в RW1P2 файловые операции. Я за эти годы несколько подходов окучил - пока ни один не понравился (каналы, спец-команды, ассемблерные вставки). Вобщем думается сделать на нижнем уровне передачу файлов блоками по 256 байт (как на CP/M-80), а на строки или на байты уже будет делить библиотека, написанная на RW1.
|
03 Jul 2011 17:11 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Weberta-интерпретатор байткода RW0 (который теперь входит в состав Rgrid.js) имеет следующую реализацию файловых операций: P.S. На самом деле ячейки с адресами от -32768 до -257 (т.е. 32512 слов или 65024 байта) потому что от -256 и выше почти до нуля идут коды "регистров"
|
18 Nov 2014 20:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23357 Location: Silicon Valley
|
Ещё одна проблема с RW1P2 была в том, что все переменные и операции 2-байтовые, даже если надо хранить и оперировать однобайтовыми величинами. Есть мысль как это победить (т.е. не кодогенерить лишнего кода если работа идёт с однобайтовыми величинами) - для начала заведём макросы для работы с половинками слов: lobyte и hibyte будут вытаскивать соответствующий байт из слова, а setlobyte и sethibyte будут устанавливать соответствующий байт слова - тогда при интерпретации оно будет работать как написано, а при кодогенерации можно детектировать соответствующие последовательности байткодов и заменять на более простой код целевой платформы: // lobyte(var) #F5 PUSH #?? #?? #F3 LOAD #F5 PUSH 255 #FF #00 #C0 & // прочитать байт по адресу ???? // hibyte(var) #F5 PUSH #?? #?? #F3 LOAD #F5 PUSH 8 #08 #00 #D0 >> #F5 PUSH 255 #FF #00 #C0 & // прочитать байт по адресу ????+1 // setlobyte(var,expression) #F5 PUSH #?? #?? #F5 PUSH #?? #?? #F3 LOAD #F5 PUSH #FF00 #00 #FF #C0 & ....... #F5 PUSH #00FF #FF #00 #C0 & #C1 | #F4 SAVE // произвести вычисления и сохранить однобайтный результат по адресу ???? // sethibyte(var,expression) #F5 PUSH #?? #?? #F5 PUSH #?? #?? #F3 LOAD #F5 PUSH #00FF #FF #00 #C0 & ....... #F5 PUSH 8 #08 #00 #D1 << #C1 | #F4 SAVE // произвести вычисления и сохранить однобайтный результат по адресу ????+1 P.S. Причём вычисления внутри setlobyte/sethibyte можно делать однобайтовыми (и беззнаковыми?) - как минимум сложение, вычитание и логические операции...
|
18 Nov 2014 21:55 |
|
|