
Sprinter <-> PC
Moderator: Shaos
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Sprinter <-> PC
Sprinter<->PC я уже почти сделал 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Блин:) И почему молчишь? Я у cr0acker`а Спринтер для этой цели даже взял (а это не для слабонервных, его Спринтер - коробка, в которой плата на одном винтике, а остальное так лежит;), доки тут курил...
Значит, с линком - тормознуть?
Я свой через LPT собирался сделать. Обычным автосвич-кабелем (LPT-LPT, провод-в-провод). На PC - основная программа; на Спринтере - простенькая прога типа cdx. С командами dir - показать текущую директорию PC; cd - перейти в другую; get - забрать файл; put - положить файл.
Значит, с линком - тормознуть?
Я свой через LPT собирался сделать. Обычным автосвич-кабелем (LPT-LPT, провод-в-провод). На PC - основная программа; на Спринтере - простенькая прога типа cdx. С командами dir - показать текущую директорию PC; cd - перейти в другую; get - забрать файл; put - положить файл.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну сделай свой вариант - мой первый опыт будет по одному проводу через LPTShiru Otaku wrote:Блин:) И почему молчишь? Я у cr0acker`а Спринтер для этой цели даже взял (а это не для слабонервных, его Спринтер - коробка, в которой плата на одном винтике, а остальное так лежит;), доки тут курил...
Значит, с линком - тормознуть?
Я свой через LPT собирался сделать. Обычным автосвич-кабелем (LPT-LPT, провод-в-провод). На PC - основная программа; на Спринтере - простенькая прога типа cdx. С командами dir - показать текущую директорию PC; cd - перейти в другую; get - забрать файл; put - положить файл.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вот предполагаемые шаги:Shiru Otaku wrote:А зачем так мучаться, с одним проводом? Там гораздо проще именно байтами швырятся.
Ладно, в любом случае - хотелось-бы услышать ответы по сабжу. Если не линк, так может чего другое надумаю сделать:)
1) один провод (асинхронно)
2) два провода (синхронно)
3) двунаправленный 4-битный интерфейс (формат TotalCommander)
4) однонаправленный 8-битный интерфейс (LPT)
5) двунаправленный 8-битный интерфейс (ECP)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Hello, world и сильно далее.
Наконец-то я отоварился правильным и очень длинным кабелем LPT-LPT, подключил Спринтер по RGB (ну, это давно уже), и могу наконец начать писать софт для линка. Т.к. под Спринтер я ранее не писал, помогите быстро войти в тему. А именно, нужен исходный код hello world - просто вывод строки в текстовом режиме.
Как выводить текст через rst 10h - это я, собственно, понял, но мне неясно, как exe-файл получить (какой правильный формат заголовка), и как корректно завершить работу программы.
Как выводить текст через rst 10h - это я, собственно, понял, но мне неясно, как exe-файл получить (какой правильный формат заголовка), и как корректно завершить работу программы.
Last edited by Shiru Otaku on 04 Mar 2005 09:28, edited 2 times in total.
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Hello, world?
Вот тебе хелло-ворлд:Shiru Otaku wrote:Наконец-то я отоварился правильным и очень длинным кабелем LPT-LPT, подключил Спринтер по RGB (ну, это давно уже), и могу наконец начать писать софт для линка. Т.к. под Спринтер я ранее не писал, помогите быстро войти в тему. А именно, нужен исходный код hello world - просто вывод строки в текстовом режиме.
Как выводить текст через rst 10h - это я, собственно, понял, но мне неясно, как exe-файл получить (какой правильный формат заголовка), и как корректно завершить работу программы.
Code: Select all
ORG 8100h-512
;EXE-file header:
dw 5845h ; EXE Signature
db 45h ; Reserved (EXE type)
db 00h ; Version of EXE file
dw 0200h ; Code offset
dw 0000h
dw 0000h ; Primary loader size or 0 (no primary loader)
dw 0000h ; Reserved
dw 0000h ; Reserved
dw 0000h ; Reserved
dw START ; Loading address
dw START ; Starting address (register PC)
dw 0C000h ; Stack address (register SP)
ds 490 ; Reserved
;code of program
START:
; Write welcome message
ld hl,msg
ld c,5ch
rst 10h
; Wait keypress
ld c,30h
rst 10h
; Exit program
ld bc,0041h
rst 10h
msg db "Hello, World!",13,10,0
Если на самом Спринтере, то используй OrgASM
Почитать про программирование Спринтера можно на форуме создателей http://www.eng.petersplus.ru/forum/wwwthreads.php
Last edited by Shaos on 21 May 2013 23:27, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Петерсовский форум-инвалид зажил только благодаря моим "костылям" т.к. я теперь владелец доменного имени "petersplus.com"Shiru Otaku wrote:Ага, большое спасибо:)
Я и незнал, что на сайте петерсов что-то выжило. Там на форуме я несколько лет назад видел то, что меня сейчас интересует (скажем, про звук топик наконец-то нашёл).
Конкретно по линкеру - Спринтеровскую часть буду писать на нём самом, в OrgASM`е.

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
За это - отдельное спасибо:)Shaos wrote:Петерсовский форум-инвалид зажил только благодаря моим "костылям" т.к. я теперь владелец доменного имени "petersplus.com" ;)
Так, меня можно поздравить - hello world скомпилен и запущен на Спринтере:) Заняло полчаса времени - найти, в чём набрать, как скомпилить, и увидеть опечатки после набора (однако-же, тяжело на ТВ читать, с моим-то зрением). Первый шаг сделан.
Теперь хочу следующий шаг. Как поудобнее организовать работу над проектом? Есть какой-нибудь текстовый редактор на Спринтере? Я сейчас пользуюсь встроенным в fn, но он весьма неудобен. И я так и не понял, как создавать новые текстовики. Пока втупую брал маленький текстовик, копировал, переименовывал, стирал там текст, и набирал свой. Это явно ненормально.
Проект пока организую так: папка, в ней orgasm.exe, мой исходник, bat-файл, запускающий orgasm для компиляции исходника. Не очень удобно.
Поделитесь опытом:)
btw, на харде cr0acker`а есть ещё tasm и masm80 - а что с этими ассемблерами, чем они лучше/хуже?
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Тасм попробую. Блин, изукрашен он - по самые не балуйся, у меня на мутном ТВ ничего не видно. Надо будет перенастроить.
Вообще, посидел часок за ТВ - глаза из орбит лезут. Как так можно работать - решительно непонятно, но, надеюсь, я выдержу:)
Глючит всё ужасно. Редактор fn`а, моя программа (без единой логической ошибки, но глючит бессовестно, и непонятно почему - разбираюсь).
Но начало положено. С частью нужных функций dss уже разобрался. Сегодня-завтра начну конкретно с программированием паралельного порта разбираться.
Вообще, посидел часок за ТВ - глаза из орбит лезут. Как так можно работать - решительно непонятно, но, надеюсь, я выдержу:)
Глючит всё ужасно. Редактор fn`а, моя программа (без единой логической ошибки, но глючит бессовестно, и непонятно почему - разбираюсь).
Но начало положено. С частью нужных функций dss уже разобрался. Сегодня-завтра начну конкретно с программированием паралельного порта разбираться.
-
- Retired
- Posts: 490
- Joined: 16 Mar 2002 17:00
Так, разобрался с глюком. У меня был буфер в 256 байт (BUF ds 256), я его вставил сразу после хидера. Всё жутко глючило. Когда перенёс его в конец программы - всё стало ок.
У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).
У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).
-
- Admin
- Posts: 24080
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вроде как понятия "текущий каталог" у DSS (Estex?) не существует. Есть каталог где лежит запущенный EXE и есть PATH - вот и всеShiru Otaku wrote:У меня новый вопрос. Скажем, путь к папке с моей программой прописан в path (чтобы можно было просто набрать имя программы для её запуска). Как после запуска получить путь к тому месту, откуда она была вызвана? Я попробовал использовать функцию CURDIR dss`а (1eh) - она возвращает директорию, где лежит exe моей программы, т.е. при запуске директория изменяется (мне надо узнать - с какой).

Я тут за главного - если что шлите мыло на me собака shaos точка net