De momento, voy a centrarme en la conversión SNA a TAP. Para hacerlo más "auténtico", quiero que haga una cinta que parezca haber sido grabada con uno de los transfers de la época (Transtape, Phoenix, Pokeador automático). Por ejemplo, en el caso del Transtape, eso significaría un bloque BASIC, seguido de uno de 75 bytes y otro sin cabecera de 49052 bytes.
Después de esta introducción, el problema:
Leyendo la documentación del formato SNA, me llama la atención la frase "When the registers have been loaded, a RETN command is required to start the program". Tiene lógica, ya que "supuestamente" hemos grabado usando una NMI. El tema es que, mirando los cargadores que usan los interfaces, todos ejecutan el programa usando RET.
Supongo que eso es porque (al cargar el programa) realmente no estamos volviendo de una interrupción. La pregunta es... ¿debería usar RET o RETN al volver? ¿Da lo mismo en este caso o tengo que parchear el cargador?
Gracias
DATO INTERESANTE: Buscando en la ROM del 48k, he encontrado en la dirección 7805 estas instrucciones:
Código: Seleccionar todo
out (c),a
ret
Código: Seleccionar todo
ld ix,64000
ld de,1536
ld hl,16384
push hl
jp xxx ; que en realidad luego salta a 1378
Código: Seleccionar todo
di
ld hl,16384
push hl
ld a,48 ; el phoenix solo hace snapshots de 48k...
ld bc,32765
jp 7805