¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
Responder
Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por Uto » 17 Mar 2018, 22:12

Lo he intentado varias veces:

- 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

jevilon
Mensajes: 339
Registrado: 24 Mar 2016, 12:26

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por jevilon » 18 Mar 2018, 01:00

Con el nuevo NMI si cargas el TRD con mayusculas+enter, directamente te carga TR-DOS

Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por Uto » 18 Mar 2018, 08:22

Ya, pero no quiero cargar un TRD, solo abrir la "linea de comandos" de TRDOS, ni necesitar un TRD para abrir TRDOS, solo quiere hacer lo mismo que sale al hacer randomize usr 15616, pero sin tener que acordarme del 15616.

jevilon
Mensajes: 339
Registrado: 24 Mar 2016, 12:26

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por jevilon » 18 Mar 2018, 10:34

Vale vale, como alternativa y tampoco siendo lo que quieres, siempre se puede hacer un archivo basic que cargue el randomize usr....
Luego es LOAD*"TRDOS"

Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por Uto » 18 Mar 2018, 11:29

jevilon escribió:Vale vale, como alternativa y tampoco siendo lo que quieres, siempre se puede hacer un archivo basic que cargue el randomize usr....
Luego es LOAD*"TRDOS"
Si, es una alternativa, pero un .trdos o .trd sería ideal

Avatar de Usuario
desUBIKado
Mensajes: 744
Registrado: 05 Ago 2016, 22:33

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por desUBIKado » 03 Jun 2018, 11:26

La respuesta corta, copia los archivos TRDOS y TRDOS.TAP del fichero .ZIP que he anejado más abajo a la carpeta BIN y ya lo tienes.

La respuesta larga es usar la potencia del comando .launcher que permite crear "dot commands" que ejecuten un fichero TAP.

Lo que he hecho es lo siguiente:

1. Me coloco el la carpeta /BIN con

Código: Seleccionar todo

.cd /bin
2. Creo el fichero .TAP donde crearé el programa BASIC

Código: Seleccionar todo

.tapeout TRDOS.TAP
3. Tecleo el programa BASIC para pasar al modo TR-DOS

Código: Seleccionar todo

 5 REM 
10 REM Pasar al modo TR-DOS
15 REM
20 RANDOMIZE USR 15616
4. Lo grabo con

Código: Seleccionar todo

SAVE "TRDOS" LINE 20
5. Cierro el fichero .TAP

Código: Seleccionar todo

.tapeout -c
6. Y por último creo el comando con

Código: Seleccionar todo

.launcher add trdos /bin/trdos.tap
Con eso ya tenemos creado el archivo TRDOS en la carpeta /BIN y lo podemos usar con .trdos
Adjuntos
TRDOS.zip
(417 Bytes) Descargado 69 veces

Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por Uto » 03 Jun 2018, 12:05

Esto suena bastante mejor. Están los Fuentes de ese launcher por algún lado? Porque eso también intente hacerlo sin éxito (un lanza taps)
Última edición por Uto el 03 Jun 2018, 13:18, editado 1 vez en total.


Avatar de Usuario
Uto
Mensajes: 1385
Registrado: 17 Dic 2015, 16:39

Re: ¿Por qué no puedo hacer un dot command para arrancar TRDOS?

Mensaje por Uto » 03 Jun 2018, 13:09

Jaja, en ese hilo ub880d me contesta a mi 4 meses más tarde de mi último post, y yo he tardado un año y medio en verlo. Hace tiempo que quité las notificaciones del foro de esxdos porque el 90% de las respuestas a los hilos eran por spam, así que no me he enterado.

Bueno, si está el binario, no ha de ser dificil.

Responder