ZXNet эхоконференция «code.zx»


тема: RUN BASIC FILE



от: Aleksandr Majorov
кому: Vyacheslav Kalinin
дата: 03 Apr 2000
Хаюшки, Vyacheslav! Как-то 24-03-00 примерно в 21:44:00 некто Vyacheslav Kalinin сообщил(а/о) для All о том, что "RUN BASIC FILE" [ ] VK> Hужна как можно скорее прога запуска бейсик фалов,у мня есть VK> своя но она как то странно работает,тоесть когда я ее запускаю VK> после ассеблирования из шторма то она запускает мне файл,если VK> запускать ее из реал командера или из бествьювера то тоже запу Конкретизируй. Что за прога, по какому принципу работает и т.д... VK> скает файлы,а вот если запускать из байсика или тр-доса то она VK> вроде начинает что-то грузить,а потом збрасывается. Какая-то недоработка со стеком, системными переменными BASIC, и тому подобное. Я это делаю так: LD A,#C9: LD (#5CC2),A ;ВЫБОР ТЕКУЩЕГО ДИСКОВОДА ;в принципе можно это и не городить, ;но в ММДе я эти переменные могу и грохнуть. LD A,(#5D16): AND 3: PUSH AF OR #3C: LD (#5D16),A: POP AF LD (23800),A: LD (23801),A LD (23833),A ;внимание!!! В этом месте осторожно! ;тут я просто восстанавливаю некоторые ;системные переменные, которые активно ;юзаю "для себя". ;ессно при активизации системы в адреса ; PROG_49+1, PROG_ST+1, PROG_2+1 ;записываются оригинальные значения ;этих переменных. PROG_49 LD HL,#2121: LD (#5C09),HL PROG_ST LD HL,#2121 LD (IY+1),L: LD (IY+48),H PROG_2 LD HL,#2121: LD (#5C38),HL LD (IY+14),#38 ;я не помню откуда я это выудил, ;но этот вариант работает весьма хорошо. ;Фактически я делаю CLEAR 65367, что-то ;еще для установки BASIC, и после этого ;выполняется RAND USR 15619: REM: RUN "???" LD HL,#15AF: LD DE,(#5C4F) LD B,0: LD C,H: LDIR LD DE,(#5C53) LD DE,23867 LD HL,RUN_COM LD C,17: LDI: LD (#5C5D),DE LDIR LD HL,#5FFF: LD (#5CB2),HL LD H,L: LD (#5CB4),HL LD HL,#FF57: LD (#5CB2),HL INC HL: LD SP,HL LD (IY+0),H LD HL,#3E00: PUSH HL LD HL,#1303: PUSH HL LD (#5C3D),SP LD HL,#1B76: PUSH HL LD HL,#2758: EXX EI: JP #3D03 ; :REM:RUN"??"ENT RUN_COM DB #80,58,234,58,247,34 TESTSP DB " ",34,32,13,#80 ;а вот сюда ^^^^^^^^^ мы пишем ;имя программы для запуска. ;Причем пишем все 8 символов, т.е. ;если имя короче, то все остальные ;символы делаем пробелами. Hу вот и все *MAS* с кувалдой




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Страницы истории - Толкин: продолжение рассказа о жизни знаминитого писателя.
Пресса - обзор газеты "Абзац №1" - Wlodek Black.
Мама реклама - Программ для Spectrum и Profi! Большой выбор ировых, системных и музыкальных прог, а также множество электронных изданий - журналов, газет.
Les oeuwrez - рассказ "Планета".
Реклама - Пpодам, куплю ,обменяю пpогpаммы для ZX Spectrum.

В этот день...   8 мая