Sep, es como vos decís
Aguante el Randomize usr !!!
define un punto en la memoria en donde la computadora va a empezar una rutina en código de máquina. No recuerdo si es exactamente esa la sintaxis.
En MSX sería
10 defusr0=0
20 z=usr(0)
la linea 10 define una posición de "jump" para el micro
la línea 20 hace el "jump" a la posición antes definida
Salu2!!!
Lo que pasa es que no es un comando, creo que es una funcion, en la C64 tambien se tiene SYS para ejecutar una rutina en codigo maquina, y USR para implementar una funcion tambien en codigo maquina, con la diferencia de que se puede pasar como parametro un numero en punto flotante y recibir como respuesta otro, se usa como: B = USR(A)
y previamente hay que indicar la direccion de la rutina a ejecutar (creo que hay que pokearla, nunca use eso)
De acuerdo a eso, supongo que en la Spectrum se usa algo similar pero sin pasarle un parametro, estoy especulando, pero creeria que USR retorna un valor, hacer RANDOMIZE USR en definitiva ejecuta el programa y reinicia el generador de numeros al azar con el valor devuelto (lo cual no afecta a menos que se esten usando numeros al azar). Del mismo modo, PRINT USR tendria que imprimir el valor retornado por la rutina en codigo maquina. Igualmente nunca use esas cosas en Spectrum asi que algun programador de esas maquinas sabra decirnos mejor.
pastbytes, estás en lo cierto. USR en el Basic del Spectrum es una función, que devuelve como resultado el valor del par de registros BC del Z80 en retorno. Se usa RANDOMIZE USR seguido de la dirección de inicio de la rutina en código máquina. Se puede usar igual PRINT USR, pero es mas práctico usar el RANDOMIZE USR por varios motivos.
Todavía recuerdo el RAND USR 16514 que usaba en la Timex 1000 para lanzar una rutina que estaba en la primera línea de un programa, que era una REM llena de "basura". En realidad, apuntaba a la memoria de pantalla que tenía esa línea. Se podía meter en otro lado modificando la variable de sistema llamada RAMTOP, pero la macana es que no te la grababa en cinta con un SAVE, y no existía el SAVE "" CODE en esa máquina, por eso se metía en REM. Con la Speccy la cosa cambió con el LOAD "" CODE.
Es la más aceptada interpretación que hay, coincido con éso.
Salu2