BYTEMAN, спасибо, вы гений! =)
я просто сразу в тр-дос выходила из менюшки.
Вопрос закрыт, извиняюсь что столько тупила...
Вид для печати
BYTEMAN, спасибо, вы гений! =)
я просто сразу в тр-дос выходила из менюшки.
Вопрос закрыт, извиняюсь что столько тупила...
Да не за что :)
А если кому 48 режим с открытыми страницами то я делаю так Ctrl+F12Цитата:
Способ работает только в режиме 48к. Для вашего случая выберите после выпадания в меню пункт 128 BASIC. На экране должен появиться листинг.
а уж потом Return
Для тех, кому интересен прогресс, сообщаю, что сегодня задисковала самостоятельно Panama Joe. Пока что все просто. Но не так интересно, как если бы это приходилось делать с реальной ленты на реальную дискету (мое имхо). Многое упустила в свое время =( с бобин грузилась, потом тот спек вместе с ними продали и спаяли с дисководом, а игры я не дисковала, мне их папины друзья сразу на дискеты поназаписывали. Я даже в тр-дос ничего не знала ничего кроме randomize usr 15616 run. Но сейчас пробелы восполняются =)
На WoS же есть! Link
Но надо сказать что мозг там в дисковке не участвует...
А мы не на занятиях мурыжили, а сами, он нам просто сказал что скачать и все =)
Так, посмотрел файлик. Действительно, моск там не нужен... Просто вставляем Рандомайзе уср перед Лоадами.
Первый семестр, какой такой АСМ?
Если интересен сам процесс, то можно попробовать без сторонних PCшных утилит попробовать, с помощью одного только эмулятора, грузить отдельно тап-файл, отдельно образ диска, и с помощью какого-либо tape-disk коопировщика, например Programmable Tape/Disk Copier by Родионов Н.'90 переводить файлы с "кассеты" на диск. Конечно, не 100% "эффект присутствия", но все равно радостней, чем в файл-менеджере на пц файлы содного образа на другой перетаскивать :)
---------- Post added at 23:43 ---------- Previous post was at 23:42 ----------
я для заочников :)
Сейчас попытаюсь репу поднапрячь...
Считав бейсик системная переменная ТР-ДОСа хранит последний считанный сектор.дорожку. Расположив блоки кода сразу за Васиком и зная их длину двумя вызовами 3D13 закидываем блоки в память и возвращаем управление в бейсик-меню. Вставку асма в бейсик можно сделать просто по DATA. А моноблок склеить диск-доктором.
Верно я помыслил? Реально проводить сию операцию сегодня уже поздновато, мож завтра "тряхну стариной" :)
На память:)
Скрытый текст
addr equ 24576
ld sp,addr-1
ld hl,addr
ld bc,len*256+5
ld de,(23796)
call #3d13
jp addr
[свернуть]
блин... ну ладно демятичные числа в исходах... но чтобы и десяти и шестнадцатиричные одноырменно - вот это жэсть...
ПыСы - изза пяти строк имхо необязательно юзать спойлер...
А "красивее" вместо call... jp... сделать push hl и jp #3d13 :v2_yahoo: (конечно при условии, что дальше грузим конечный блок данных, а не intro или screen).
И заканчивайте с dec, понять ведь невозможно такую адресацию :-)
---------- Post added at 11:11 ---------- Previous post was at 11:10 ----------
Чтоб не затереть при загрузке данных.
а это пошло от CLEAR ;))) его надо было на 1 меньше ставить:) привычко:)
---------- Post added at 13:34 ---------- Previous post was at 13:33 ----------
ага, и при условии, что не выходим в бейсиг
---------- Post added at 13:35 ---------- Previous post was at 13:34 ----------
ето каких ето? ниче не затрется.
ld hl,addr
ld sp,hl
push hl
ld bc,len*256+5
ld de,(23796)
jp #3d13
наверно так короче
Сильно звучит... :v2_blink: Ничего в асме не понимаю. В универе вели плохо и сдала исключительно благодаря кпк с инетом и аськой (вопросы туда задавала грамотным людям). Так что все кто тут листинги из асма постил: поздравляю, вы съели мозг.
Может после курса дисковки что-нить в этой теме прояснится, поскольку книжки по нему читать - это выше моих сил, я пробовала...
Mat1sha, инфоркомовскую прочти! Написана легко, куча пояснений и примеров. Каждая команда разобрана и расписана. Даже ААА разберётся :-)
В В - ясно, длина файла, а в С что? надо обьяснить, что это такое. Ведь люди, незнающие, подумают что длина файла = #1005, а фактически #1000. Надо обьяснять полностью.
---------- Post added at 15:36 ---------- Previous post was at 15:23 ----------
Так КОД или Бейсик? Это разные вещи.
А нафига туда грузить? Ты для чего адрес стека устанавливаешь, просто так?
Грузишь в #7ffd, ну и ставь стек не этот адрес. И всё будет тип-топ.
---------- Post added at 16:05 ---------- Previous post was at 15:55 ----------
Да ты не обижайся, я сам с Бейсиком не дружу. Он мне нужен только для "RANDOMIZE USR адрес". Адрес - в Бейсик области, а там программа в машинных кодах. Поэтому и спросил. Если есть вопросы - пиши в личку. С удовольствием всё, что знаю расскажу.
Никто, как раз один из способов. просто надо иметь в виду, что мы стек меняем, а не ломать потом голову на тему: почему же это она не работает?
1. положим, не на этот, а на -1 ;-)
2. это мы с тобой понимаем, а начинающий может не понимать до конца этих моментов, вот для них и объясняется
По поводу TR-DOS:
ld hl, addr ;в hl указываем адрес для загрузки
ld bc, nn05 ;nn = количество секторов для загрузки, с = 5 - операция 5 (последовательное чтение nn секторов)
ld de (#5CF4) - в идеале в d указываем номер дорожки, а в e - номер сектора, с короых будем производить чтение. Но в #5CF4 (системная переменная TR-DOS) у нас хранятся эти значения после последней операции (то бишь, если последней операцией было чтение или запись 3-х секторов 2-й дорожки, начиная с 5-го, то после её завершения в #5CF4 у нас будет храниться следующее значение: дорожка 2 сектор 8 (ведь мы считали/записали последовательно 5-й, 6-й и 7-й сектора и после чтения 7-го сектора головка переместилась на 8-й). Соответственно, считав один файл головка у нас всегда стоит на начале следующего (естественно, не работает в ситуации когда следующий файл стёрт, а диск не уплотнён).
Как-то так... :)
Ну и расфлеймились тут!
Но очень занимательно получилось! :)
У меня где-то табличка с функциями 3D13 нарисована, но по жизни мне пока хватало двух, по шаблону:
ld de, дорожка / сектор
ld hl, начальный адрес в памяти
ld bc, кол-во секторов / 5=чтение 6=запись блока секторов.
call / jp 3D13
/ ret
вопрос-то был про "на единицу меньше". а из #3d13, положим, ты не вернешься никуда, если попортишь стек;) как только сектор затрет стек (даже не догрузив запрошенное до конца!), ты куда-нить вылетишь. можно, конечно, так приколоться, но радости мало. другое дело отмочить такой "пакованный хрустом" блок, который при его простой распаковке самозапустится:)
а по-моему это в чистом виде привычка:) я тоже так писал, но по привычке:)
---------- Post added at 20:48 ---------- Previous post was at 20:45 ----------
ну так с чего на -1???
Я попутал. -1 не надо. Ибо при занесении данных на стек сначала делается декремент, а потом уже запись байт.
Состав групп
Группа А, "практикующих" студентов:
1) rasmer
2) lisica
3) Kuper
4) molodcov_alex
5) elker
6) ewgeny7
7) VNN_KCS
______
Группа Б, для "слушающих" студентов:
1) Sabrewulf
2) Andrnow
3) Striker
4) Mat1sha
5) goodboy
________
Для всех групп: начаты практики третьего семестра.
Для желающих - есть места в группе Б.
Меня, наверное, вычеркивайте совсем... для меня эпоха спектрума закончилась в 1998, когда я свой подарила. Возвращение в 2006 прошло неудачно - поигралась и на дачу недавно вывезла, как ненужный хлам (или музейный экспонат). Спасибо TomCaT и прочим за подсказки по работе с тр-досом, наконец-то на меня снизошло озарение, как сохранять на дискеты свои программы. Поздновато оно конечно снизошло (году бы в 90-98 лучше), но все равно, лучше поздно, чем никогда. Сайт с лекциями и практикой буду почитывать по мере желания, но никаких зачетов и прочего сдавать не буду.
Томкат, даешь подкасты! Запишите меня в практиков ;)
Хорошо, но пока практикующие сдают зачеты, и я не расширяю группу, она остается в семь человек. Места пока среди слушающих.
И сразу расшифруй :) , что понимаешь под подкастами.