El 02/12/2015 a las 21:47, Marcos Cruz [email protected] [forth-es]
escribió:
> En/Je/On 2015-12-02 19:25, Miguel Angel Rodriguez Jodar
> [email protected] [forth-es] escribió / skribis / wrote :
>
> Entonces mis conocimientos de C están más oxidados de lo que creía.
> Gracias por la actualización tan detallada. No recordaba que en la
> fuente se pudiera hacer todo eso expresamente.
Mira: el programa que puse en el correo anterior...
> : BOLD
> 12288 11264 DO
> I C@ DUP 2 * OR I C!
> LOOP
> ;
En C se haría así:
main()
{
char *p = 11264;
while (p!=12288)
*p++ = ((*p)<<1)|(*p);
}
Como lo anterior puede no quedar muy claro para un neófito de C, el programa se
puede reescribir para que quede un poco más claro:
main()
{
char *p = 11264;
int i;
for (i=0;i<1024;i++)
p[i] = (p[i]<<1) | p[i];
}
> ¿Solo escribible? Tengo hechos algunos jueguecillos en ACE Forth pero no
> recordaba esa limitación. Entonces puedes definir tus propios caracteres
> porque están ya copiados en RAM, pero no puedes leer lo que hay en esa
> zona porque ese rango de direcciones no está conectado como debería...
Correcto. En el ACE original esa zona de memoria no puede leerse.
> Recuerdo que el mapa de memoria de Jupiter ACE es muy peculiar, con
> algunas zonas visibles en más de un rango de direcciones.
Sí. Esto es porque para esas zonas "dobles", uno de los rangos le da prioridad
a
la CPU a costa de originar basurilla en pantalla mientras realiza la operación.
En el otro rango, no se genera basurilla pero la CPU debe esperar a que el
circuito de video no esté generando imagen.
> Entonces, ¿con el clon FPGA se puede modificar esa zona porque tú lo has
> programado así o porque es una limitación de la descripción que haces de
> los circuitos? Quiero decir, ¿no queda más remedio que que sea
> modificable o podrías recrear el comportamiento exacto de la máquina
> real en ese punto?
Lo he modificado porque yo he querido hacerlo así. Tocando un par de lineas de
la descripción podría volver a dejarlo con su comportamiento original.
--
Miguel Angel
@zxprojects | www.zxprojects.com
------------------------------------
------------------------------------
------------------------------------
Enlaces a Yahoo Grupos
<*> Para visitar tu grupo en la web, ve a:
http://es.groups.yahoo.com/group/forth-es/
<*> La configuración de tu correo:
Mensajes individuales | Tradicional
<*> Para modificar la configuración desde la Web, visita:
http://es.groups.yahoo.com/group/forth-es/join
(ID de Yahoo! obligatoria)
<*> Para modificar la configuración mediante el correo:
[email protected]
[email protected]
<*> Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
[email protected]
<*> El uso que hagas de Yahoo Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
https://info.yahoo.com/legal/es/yahoo/tos.html