Desde c/m sigues teniendo el problema (este empieza a ser un clásico) de la página 7. Además, debido a que para hacer llamadas a DOS el mapa tiene que ser ROM3,RAM5,RAM2,RAM7 te quedan solo 2 páginas (la 5 y la 2) donde cargar datos. De hecho, yo ubicaría el stack en la 5 junto con la pantalla de carga, e iría cargando las páginas en la RAM2 y trasladándolas a su ubicación definitiva.
Al final creo que es demasiado esfuerzo. Con el BASIC hago exactamente eso, y uso el c/m para la paginación/reubicación. Si hace falta poner el SP en alguna parte antes de lanzar el código o meter una página concreta antes de empezar, no es complicado encontrar un sitio donde esconder ese código (lo primero son 6 bytes, lo segundo son 9). Puedo entender el uso de c/m para comprimir bloques (aunque yo no los comprimo), pero no para hacer la carga de ficheros.
Ahora mismo acabo de terminar de pasar "El gran halcón" (vale, ese ya existe en disquete, pero el disquete accede directamente a sectores,creo). El programa usa las páginas 0,1,3,4 y 6 (al margen de la página 2 que siempre está mapeada y parte de la 5). El cargador en BASIC ha ocupado 350 bytes, lo que deja mucho espacio para cargar el programa (de hecho, podrías poner el CLEAR casi en 24200).
Lo que de verdad me encantaría saber es qué partes concretas de la página 7 se usan y cuáles quedan libres (eso no lo tengo claro). Creo que hay muy pocos casos de programas que usen la página 7, pero puede ser útil saber dónde se pueden meter datos en casos de emergencia.
EDITO:
He subido un pack con las últimas cosas que he tocado, por si alguien quiere unirse a la fiesta y convertir más juegos. Hay 4 discos: El Gran Halcón, Dizzy, The Rocky Horror Show, y Loader.
- Los tres juegos van acompañados con las versiones tzx de origen, por si alguien quiere ver cómo estaban antes de convertirlos.
- El Gran Halcón no tiene mucho problema, he cargado las páginas en donde las tenía el Spectrum y después he saltado a donde lo hacía el cargador original.
- Dizzy ocupa prácticamente toda la memoria, desde la dirección 23734 en adelante (sí, machaca el BASIC). Lo he trozeado en 4 trozos: pantalla, y páginas 5 (parcial), 2 y 0. El cargador mete la página 5 en la 4 (para no joder el BASIC), y luego "machaca" parte de la pantalla con una rutina que copia los datos de la página 4 a la 5, coloca el stack y salta al juego. De hecho, debido a que su cargador está en la dirección 23296 este juego no se puede cargar desde cinta en modo 128k, hay que usar el modo 48k. Ahora ya funciona en modo 128k, pero al precio de que ya no se puede usar en equipos de 48k

- The Rocky Horror Show es una mezcla de los dos anteriores: es un 128k que además usa la página 5 para meter cosas. Al margen de la corrupción de la pantalla de título, todo parece funcionar bien.
- Loader: Aquí está mi cargador "base", listo para ser modificado junto con algunos comentarios. Creo que es bastante compacto (aunque hay margen de mejora), y todavía se puede entender cómo va. Según necesites cargar más o menos páginas, o juguetear con la página 5, se pueden ir eliminando o añadiendo cosas (de hecho, para empezar sobran todos los comentarios).
El paquete está subido en mediafire, para que quien tenga curiosidad le eche una ojeada. Borro los paquetes anteriores del RHS, pero dejo la imagen de disco duro con algunos juegos.