И спектрум и Амстрад СРС
Вид для печати
А как попробовать на реальной машинке? (пусть без какой-то там доп.памяти).
Сам файл .dsk почему-то тотал коммандером с плагином не распаковывается.. :( В эмуляторе работает, чиби летает да. Интресно бы какой-то набор файликов под RT-11 заполучить чтобы загрузить через стык С2 это вот дело и глянуть.
Ну просто так подключить этот .dsk как скажем устройство HX1 и запустить чего-то с него не вышло. Выдало ?DIR-F-Invalid directory. Странный образ диска, но эмулятор Никиты его переваривает вполне.
Может это и не образ диска в понятиях RT-11 совсем, а ну типа образ игры на диске которая сама себя грузит и системой не пользуется от слова совсем.
Так я и написал - нет там RT-шной файловой системы. И скорее всего нет никакой - там по сути - раскатанная на диск программа с оверлеями, которая в нулевом блоке (ака адреса 0-776) содержит свой загрузчик корневого сегмента, а там уже есть процедура подгрузки частей программы с этого "образа на диске"
Ну это вот логично чтобы загружать полностью всю оперативку причем в двух процессорах. Сам помню парился мол как сделать чтобы с RT был загрузчик и загружал творение потом во всю память компа (когда первая-же строка кода типа .=0 даааа..). Фактически задача из разряда "как загрузить с системы полный снапшот всей памяти (ОЗУ+видеопамять). Проще видимо обойтись БЕЗ системы.
Так и обычная УК-НЦ переварит - её задача - загрузить с устройства некий блок и передать ему управление - а дальше уже работа этого блока. Например - это может быть загрузчик RT с понятными последствиями :)
А ещё встречал экзотику - на Falcon в загрузчике есть модуль загрузки standalone программ с диска с ФС RT11 - пример:
- - - Добавлено - - -Код:@HX2
Тест быстродействия (кэш, если он есть, выключен)
BR .+2 269 316 оп./сек
R1+R0 classic 269 333 оп./сек
R0(23456.)+R0(12345.) empty 81 884 оп./сек
R1(23456.)+R0(12345.) 62 551 оп./сек -> 264 931 оп./сек
R1+@R0 classic 162 776 оп./сек
R1(23456.)+@R0(M-12345.) empty 81 883 оп./сек
R1(23456.)+@R0(M-12345.) 54 251 оп./сек -> 160 764 оп./сек
...
Совсем не логично :)
В этом плане именно логично. А иначе например вот как загрузить всю память (можно упаковать конечно так видимо и делают.. некоторые).
Есть например 64 кб памяти которую надо загрузить чем-то. Тут конечно можно сказать что "да пусть на систему останется, чего ее грузить-то всю". Но так реально удобнее просто когда знаешь что все ресурсы в твоем распоряжении. У меня вон повеселее вещи которые УКНЦ с дефолтным макро-11 не переварит.
Адреса больше 177777
Код:4016 016000 VBufferSize = FieldDX*FieldDY*CTILE_SIZE
4017 051600 VBuffer1: .blkb VBufferSize
4018 067600 VBuffer2: .blkb VBufferSize
4019
4020 END:
4021
4022 056700 .=VDATA*2
4023
4024 .radix 10
4025
4026 GlobalObjLen:
4027 256700 004 003 004 .byte 4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
256703 004 004 004
256706 004 004 004
256711 004 004 004
256714 004 004 004
256717 004 004 004
256722 004 004 004
256725 004 004 004
[свернуть]
К счастью виндовый порт macro-11 нормально относится к таким адресам и в итоге работает на УКНЦ.
(как из таких адресов потом считывать, ну через регистры Q-bus собственно)