потому что
DE берется из 23796 и 23797.
если не хочешь гонять файлы вхолостую, то определись, какой адрес тебе нужен.
пример я привел, но есть некоторые ограничения.
Вид для печати
не грузить, а запускать
когда `работает` trdos область размещения бейсик программы начинается с 23867.
(можно посмотреть в системной переменной progs (23635/23636))
если первая строка
10 REM код
то считаем 23867+2байта (номер строки)+2байта(длина строки)+1байт (токен REM)=23872
; номер строки можно принудительно занулить (например через POKE) это типа защита от редактирования.
257 это длина буфера который выделяется (а потом изчезает) во-время загрузки сектора.
вот хороший пример http://www.pouet.net/prod.php?which=2143
чисто бейсик - ничего лишнего :v2_rolley
а если серъёзно для начала грузи из бейсика основной загрузчик
(ведь пока тренируешься его длина будет `плавать`)
размещай после REM что-то-вроде
LD HL,24576
LD SP,HL
LD DE,(23796)
LD BC,1*256+5
PUSH HL
JP 15635
а основной загрузчик компилируй с 24576
По вышесказанному конечно не всё понятно. Но эти вопросы потом. Монолоадеру с рексом однозачно быть, незнаю, может седня сделаю, может на днях.
Но пока вопрос не в тему: если мы в бейсик-программе пытаемся выставить CLEAR слишком низко, то бейсик ругается ramtor no good. Как он, бейсик, определят что CLEAR слишком низкая? Бейсик как-то расчитывает свой собственный размер? Как? И можно ли его обмануть? Пусть даже ценой порчи самого бейсика.. )
Сдется мне, пора объявлять сбор средств на монолоадер Rex'a ;)
можно не выставлять значение clear, но тогда будет портиться код.
тут два варианта: либо с clear, и извращайся, чтобы бейсиковская програ до этой границы уместилась, либо без clear.
можно загрузить бейсик прогу, потом (без clear) код, и на выходе получить прикольную мешанину символов ближе к концу текста бейсика.
Да, код портится. Но неужели нельзя куда-нибудь занести какое-нибудь обманное значение, чтобы бейсик подумал, что бейсик-прога короткая и выполнил CLEAR? Тогда испортился бы бейсик (ну и хрен на него он уже отработал), но код остался бы целым.
---------- Post added at 14:48 ---------- Previous post was at 14:40 ----------
когда шутку повторяют раз десять, она перестает быть смешной :)
Монолоадер могу сделать хоть сейчас, но он будет без читов. Без читов тоже хорошо. Но вдруг можно надурить бейсик... тогда будет и монолоадер и с чит-меню.
Для этого надо либо надурить CLEAR, либо.. в общем кодовый лоадер может грузить любое количество секторов с дискеты в любую область памяти. Т.е. можно подгружать новые кодовые блоки. А можно кодовым загрузчиком подгрузить бейсик-файл? Причем чтобы этот новый бейсик стартанул. И чтобы всё это было моно.