На самом деле, оба варианта были. Первый (COM-файл загрузчик + файл-оверлей с кодом игры для страницы 0) был сделан в 20 веке как временное решение для АСРМ и подобных CP/M, работавших в странице 1 ОЗУ (и потому просущестововал долго став как постоянное решение). Там была еще особенность в том, что несжатый код некоторых игр был больше ТРА и такие файлы можно было грузить только из оверлея внешним загрузчиком (COM-файл не может быть размером более ТРА), поэтому и не было смысла что-то менять и cделано было одинаково для всех игр ZX - и больших и мелких.
А вот когда уже в 21 веке для Альтаир-ДОС (она работает в странице 2) захотелось сделать сборник игр для SD-карты, то не стал перепиливать загрузчики для другой страницы, а прилепил распаковщик (пакер работает на РС, код игры ужимается в полтора-два раза, т.к. обычно рыхлый из-за графики и музыки) что дало уменьшение кода всех игр и теперь все они помещаются в ТРА (и можно обойтись одним файлом, без загрузчика), и распаковщик, стартуя из кода пожатого СОМ-файла игры и работая в F-области, берет входящий (сжатый) поток из страницы 2, а исходящий поток кладет сразу в нужную страницу по нужному адресу (т.е. без лишних пересылок).
Запускать ордосовское в виде СОМ-файла имеет смысл только для игр (которым по сути не надо ничего), т.к. для системных надо в ОЗУ окружение для Ордос: саму Ордос, ROM/RAM диски, корректное содержимое F-области (фонт и переменные Монитора) - все то, что работающая CP/M обычно к моменту старта этого ордософайла затерла своим кодом. Ну и такие мелочи как некуда сохранять результат.





). Там была еще особенность в том, что несжатый код некоторых игр был больше ТРА и такие файлы можно было грузить только из оверлея внешним загрузчиком (COM-файл не может быть размером более ТРА), поэтому и не было смысла что-то менять и cделано было одинаково для всех игр ZX - и больших и мелких.
Ответить с цитированием