PDA

Просмотр полной версии : Вопрос интересный - можно ли под ZX cобрать простой исходник на Сях ?



SuperMax
17.04.2024, 12:09
Добрый день Коллеги!

я честно в ZX не в зуб ногой и в принципе не представляю как собрать программку на Сях под ZX

еcть вот такой исходник - простой и компактный
80655

просто было высказано мнение, что Z80 слаб для таких задач и не справится, но я лично сомневаюсь в этом
и для теста собрал его для PDP-11 и проверил на БК-0010 3MHz - работает

cоответственно прошу помочь - а именно собрать его для ZX

SfS
17.04.2024, 13:11
Собрать то можно) Но сколько и как он это считать будет...

Тут же проблема не просто чтобы оно работало. А чтобы за приемлемое время.

SuperMax
17.04.2024, 13:14
Собрать то можно) Но сколько и как он это считать будет...

Тут же проблема не просто чтобы оно работало. А чтобы за приемлемое время.

ну на БК-0010 3MHz работает и вполне быстро
хочу убедится что и нa Z80 тоже

ivagor
17.04.2024, 16:05
Z80 для таких задач не слаб (да и какой 8-битный проц с компилятором C для них слаб, это еще надо поискать), есть даже готовый вполне рабочий бинарник для CP/M (http://www.z80.eu/downloads/aes256.zip). Продвинутые спеки с CP/M тоже подойдут. Ну а для классического спека надо перекомпилировать подходящим компилятором.

SfS
17.04.2024, 16:24
Вопрос какой поток шифровать то?

SuperMax
17.04.2024, 17:12
Z80 для таких задач не слаб (да и какой 8-битный проц с компилятором C для них слаб, это еще надо поискать), есть даже готовый вполне рабочий бинарник для CP/M (http://www.z80.eu/downloads/aes256.zip). Продвинутые спеки с CP/M тоже подойдут. Ну а для классического спека надо перекомпилировать подходящим компилятором.

очень интересно!
прошу подсказать:
- как собрать ?
- как запустить ? те какой эмуль взять и как туда это подсунуть ? (я честно не знаком с платформой в плане запуска CP/M)
правильно ли я понимаю, что можно взять эмулятор башкирия, запустить эмуляцию роботрона - там же клон CP/M ?
только я честно не понял как засунуть файл в образ диска CP/M - есть же какой-то утиль ? или плагин в FAR ?

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


Вопрос какой поток шифровать то?
нечастые посылки по 50-100 байт

SfS
17.04.2024, 18:06
100 байт за какое время? Ну в смысле сколько посылок в секунду? Из этого надо исходить.
Ведь можно и по 100гбитной сети гонять пакеты по 100 байт)

SuperMax
17.04.2024, 18:17
100 байт за какое время? Ну в смысле сколько посылок в секунду? Из этого надо исходить.
Ведь можно и по 100гбитной сети гонять пакеты по 100 байт)

1 пакет к примеру в секунду

SfS
17.04.2024, 18:30
Ну тады почему бы и нет)

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

Можно попробовать собрать с помощью sdcc. Без cpm

ivagor
17.04.2024, 19:04
Откомпилировал в z88dk вариант из первого сообщения для спека
zcc +zx -vn -clib=sdcc_iy -startup=0 demo.c -o demo -create-app

SuperMax
17.04.2024, 19:21
Сам я данный пример не собирал, но на этой странице (http://www.z80.eu/c-compiler.html) написано, что он откомпилировал в HiTech C и там же есть HiTech C 3.09 и руководство к нему.
Переименовал DEMO.COM в DEMOAES.COM и проверил в Emu в конфиге Vector06c-Z80 (просто мне вектор привычнее и удобнее, но думаю практически любой комп с z80 и cp/m подойдет).

можно образ CP/M для вектора ? желательно с компилятором )



Откомпилировал в z88dk вариант из первого сообщения для спека
zcc +zx -vn -clib=sdcc_iy -startup=0 demo.c -o demo -create-app

скачал
попытался собрать - ругается

demo.c:41: error 7: Old style C declaration. IGNORED 'main'
demo.c:70: error 7: Old style C declaration. IGNORED 'argc'

но ваш готовый вариант запустился в эмуле - в приницпе нормально работает, гипотеза подтверждена, я был прав - Z80 cправится!

SfS
17.04.2024, 19:22
Тут интересно за какое время)
Что соберётся и сработает сомнений не было

ivagor
17.04.2024, 20:04
попытался собрать - ругается

demo.c:41: error 7: Old style C declaration. IGNORED 'main'
demo.c:70: error 7: Old style C declaration. IGNORED 'argc'
У меня подозрение, что пытаетесь собрать вариант, на который я привел ссылку, а я собрал вариант из первого сообщения (https://zx-pk.ru/threads/35701-vopros-interesnyj-mozhno-li-pod-zx-cobrat-prostoj-iskhodnik-na-syakh.html?p=1197206&viewfull=1#post1197206) и при сборке компилятор писал вот что

In file included from demo.c:4:
aes256.h:299:1: warning: null character(s) ignored
demo.c:39: warning 85: in function main unreferenced function argument : 'argc'
demo.c:39: warning 85: in function main unreferenced function argument : 'argv'

SfS
18.04.2024, 07:55
Собрал. Работает.

Во вложении несколько вариантов бинарей (tap, hobeta и просто BIN).

И там же исходник, адаптированный под SDCC-NOINIT. Добавил ccls(7) - очистка экрана.

Собралось сразу. Там бинарь почти 8К, но из них половина это шрифты и тяжелый ввод-вывод. Не стал оптимизировать.

Cам файл demo.c занимает 4597 байт в откомпилированном виде

80662

Собирал под этот SDK: https://github.com/salextpuru/sdcc-noinit
Кто захочет поворотить, то использовать надо SDCC-3.6.0 и ещё утилиты: https://github.com/salextpuru/speccy-toochain

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

80663

SuperMax
19.04.2024, 19:36
Собрал. Работает.

Собирал под этот SDK: https://github.com/salextpuru/sdcc-noinit
Кто захочет поворотить, то использовать надо SDCC-3.6.0 и ещё утилиты: https://github.com/salextpuru/speccy-toochain

80663

можно подробную инструкцию как собирать ?
или образ для эмулятора где это собирается ?

SfS
20.04.2024, 06:45
Самое подробное что есть тут: https://github.com/salextpuru/sdcc-noinit/blob/master/doc/sdcc-noinit.pdf

Вопросы появятся, пишите. Попробую ответить)

Barmaley_m
25.04.2024, 20:55
Я тут когда-то открывал тему о реализации AES на Z80, но не могу сейчас найти. Выкладываю исходник еще раз. На ассемблере и довольно компактно по размеру кода.80708

drbars
12.06.2024, 19:01
Barmaley_m, вот эта тема (https://zx-pk.ru/threads/20955-shifr-aes-128-kompaktnaya-realizatsiya-dlya-z80-(1001-bajt-koda).html).

ZXMAK
29.07.2024, 03:41
свой первый hello world на Си написал и скомпилил еще на спектруме с магнитофоном. :) Был тогда компилятор кажется HiSoft C назывался.

Update: Вот нагуглил инфу по нему https://github.com/oldcompcz/HiSoft-C