- La primera muy mal, simplemente ponia un CALL a 15616 en el código del dot command y petaba miserablemente porque - ahora lo sé - estaba paginada la ROM de ESXDOS.
- La segunda, tras descubrir que para llamar a la ROM y despaginar correctamente la ROM de esxdos había que hacer RST $18, DEFW <dirección>, pero tampoco iba.
- La última, haciendo que el dot command copiara un CALL 15616 y un RET a 16384, y luego saltando a RAM con RST $18, CALL 16384. Esta última al menos no se cuelga, pero sorprendentemente no hace nada (sale con OK 0:1 sin abrir TRDOS).
Sin embargo, si después de no hacer nada, y con el código aún en pantalla en 16384, hago RANDOMIZE USR 16384, el TRDOS arranca.
Sospecho que puede ser porque TRDOS tenga que ser llamado siempre desde BASIC, por aquello de que puede llevar sus REM con comandos detrás, pero tampoco le veo mucho sentido porque si se llama con RAND USR 15616 a secas no lleva nada detrás, excepto un #13, y el dot command también lleva ese #13.
¿A alguien se le ocurre algo?
Dejo aqui el último código:
Código: Seleccionar todo
; TO BE COMPILED WITH SJASMPLUS
output TRDOS
org $2000 ; ESXDOS dot command org
start LD HL, prog
LD DE, 16384
LD BC, 4
LDIR
RST $18
DEFW 16384
prog CALL 15616
RET