Commodore 64 manual programacion basic 2.0

marcoabel39 5,328 views 171 slides Sep 25, 2015
Slide 1
Slide 1 of 171
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119
Slide 120
120
Slide 121
121
Slide 122
122
Slide 123
123
Slide 124
124
Slide 125
125
Slide 126
126
Slide 127
127
Slide 128
128
Slide 129
129
Slide 130
130
Slide 131
131
Slide 132
132
Slide 133
133
Slide 134
134
Slide 135
135
Slide 136
136
Slide 137
137
Slide 138
138
Slide 139
139
Slide 140
140
Slide 141
141
Slide 142
142
Slide 143
143
Slide 144
144
Slide 145
145
Slide 146
146
Slide 147
147
Slide 148
148
Slide 149
149
Slide 150
150
Slide 151
151
Slide 152
152
Slide 153
153
Slide 154
154
Slide 155
155
Slide 156
156
Slide 157
157
Slide 158
158
Slide 159
159
Slide 160
160
Slide 161
161
Slide 162
162
Slide 163
163
Slide 164
164
Slide 165
165
Slide 166
166
Slide 167
167
Slide 168
168
Slide 169
169
Slide 170
170
Slide 171
171

About This Presentation

manual que venia en los equipo de computadora
commodore 64


Slide Content

= INDICE

& INTRODUCCION 7 va
> 1. PUESTA EN MARCHA (SETUP) 0 INSTALACION ... ı
= + Desembalado y Conexión del COMMODORE 64€. 2
> + Instalación = . 3
+ Conexiones Opcionalas 6
a + Puesta on Marcha . A a
- + Ajuste de! Color : on
= 2. PARA EMPEZAR ra 3
\ + EiTocinco a oe M
& + Retomne ala Normalidad pa E
+ Carga y Grabación de Programas. Feel
- + PRINT y Cálculos 2
+ Prioridades Resumenievisión 2
+ Combinando Cosas . 2
& 3. SU PRIMER PROGRAMA EN PROGRAMACION
COS a
> + El Próximo Paso ee
a La instrucción GOTO ....... ES
+ Consejos para Corrección de Ere En
5 + Variables. En
> + La instrucción IFLTHEN . a7

+ E1"Bucie” FOR. .NEXT

4. EL BASIC AVANZADO e easel

+ introducción a ada

+ Los Principios de la Animación 2

> Imbncación de Bus “
A + La Instrucción INPUT a . 6
+ La Instrucción GET a

5 2 Gencrador de Números AlstarionyOiras Funciones .. 48
m + Juego de Adivinanza pios 50
+ Lanzamiento de los Dados aes se

= + Gráficos Aloatorios si 53
“ + Las Funciones CHAS y ASC z 53

. COMANDOS AVANZADOS DE COLOR Y

GRAFICOS

+ Colores y Gráficos

+ impresión do Colores

+ Gbéigos de Color CHRS .......-

+ Los Comandos PEEK y POKE
Grátis do Panal

Mapa ce Memoria de Partalla

Mapa de Memoria de Color .

Más Polotas Rabotanco

LOS SPRITES

+ Introducción
+ Creación de Sprites

+ Complementos sobre los Sprites .
+ La Aritmética Binaria

+ CREACION DE SONIDOS -

+ Uso del Sonido sino es Us. un
Programador de Ordenadores.

Estructura de un Programa da Sonidos

Ejemplo de Programa Musical

Música con el COMMODORE G4...

Los Ajustes de Sonido básicos.

Toque una Canción con el COMMODORE ELC.

Creación de Electos Espociales

Ejemplo do Efectos Especiales

EL MANEJO AVANZADO DE DATOS

+ Las Instruccionas READ y DATA.
+ Las Macias Aritmáticas
+ Variables “Suscrtas”
Tablas de una Dimensión
evision delas Medias
+ La Instrucción DIM (DiMensión)
+ Simulación dol lanzamiento de los Dados con Tabias
Tablas Bidimensioneles (Matrices)...

BRRRESEER

338882888 à 233822

288282

se

100

APENDICES ........0..-: |

= Introducción. 108
= A: ACCESORIOS Y SOFTWARE DEL COMMODORE sac 107
B: ELMANEJO AVANZADO DEL CASSETTE ... mo
A ©: ELBASICDEL COMMODORE sec m
2 D: LAS ABREVIACIONES DE LAS PALABRAS CLAVES DE BASIC .. 190
E: CODIGOS DE PANTALLA ..
= E: CODIGOS CHAS Y ASC aie
&: MAPAS DE MEMORIA DE COLORES Y PANTALLA 198
H: DERIVACION DE FUNCIONES MATEMATICAS ................ 140
a It CONEXIONES DE DISPOSITIVO ES 141
= J: PROGRAMAS A PROBAR . 1
1: CONVERSION DEL BASIC STANDARD AL BASIC.
DEL COMMODORE BC ..... en 188
- L: MENSAJE DE ERROR 150
u M: VALORES DE LAS NOTAS MUSICALES 152
N: BIBLIOGRAFIA 156
- O: MAPA DE LOS REGISTROS DE SPRITES 157
I P: BASES DEL CONTROL DE SONIDO DEL C 84 .. 160
INDICE 163

GUIA DE REFERENCIA RAPIDA DEL COMMODORE 64€ ...... 167

INTRODUCCION

Felicidades por eu compra de uno de los mejores ordenadores del mundo.
Estará satisfecho de ser propitario do un COMMODORE 4€. Commodore es
ha voleado para que sus manuales sean conocidos por su facidad en a lec»
tura, uso y comprensión. € Manual de Uzumio del Commodore 64C ha sido pen.
sado para darlo oda la información que necesite para la instalación de su
‘equipo, asquirir a información para operar con si COMMODORE $4, y para
‘que tenga un Inicio divertido aprenciendo a hacer sus propios programas.

Para aquellos que no quieren aprender como ss programa, hemos incluido
toda a información que £a necesita para ulizar los programas Commodore u
otros programas preparados yla cartucnos de juego eroora part do soltura»
re) Esto significa que no tiene que buacar por el libro ontoro para empezar.

Anota observe algunas do las excitantes posibilidades quelo ssperan enel
interior de su COMMODORE 64. Primero, cuando lega alos gráficos Lone al
més avanzado controlador de video de la industria delos microordenadores,
Los llamados SPRITES, le permiten disonar sue propios cloujos on colores
diferentes parecidos alos de las máquinas de Juegos de los bares, No sólo es
Lo, l EDITOR de SPRITES la permite animar hasta 8 rivelos ce dibujo diforon
tas al mismo tiempo. El EDITOR de SPRITES ests disponible como un progra-
ma que ae puede cargar directamente en su Commodore. Puede mover sus
‘reaciones a cualquier lugar de la pantalla, asi como paser una Imagen por
“delante 0 por detrás de olra. Su COMMODORE 64C está provisto de detonción
“automática de colisión que malty ai ordenador qué acción quiere tomar
“cuando un SPRITE golpea a otro

El COMMODORE 846 tiene müslca y slactos sonoros sin val entre los site
tizadores musicales conocidos, Esta parte de su ordenador contione 3 voces
incepencientas, cada una con 9 octavas. Además dispone de 4 formas de on.
da diferentes (dientes de sierra, triangular, pulso varie y ruido), un generu-
or de envolventes programables ADSR (Ataque, Decalminto, Sostonimiento
y Relajación) y un fro pasa alto, pasa bajó y pasa banda programable para
las voces, y controles de resonancia variable y volumen. Squier reproducir
su música a av de au sistema de Ala Fidalldad, ol COMMODORE 4 lo per
mite conectar su caliza se audio a cuaiquiér sistema de amplificación de Alta
Calidad,

Estamos conectando el COMMODORE 64€. a otras partes del equipo... Su
sistema puede amplarso anagiendo accesorios, conocidos como portéicos,
si su sistema necesita crecer. Algunas de sus opciones Incluye aparatos co:
mo un grabador DATASSETTE” o hasta 4 unidades de almacenamiento de dis:
0 VIC-1541 para guardar programas ylo datos. Puede anacir una impresora,
‘de matriz de agujas dol VIC para disponor de copias Impresas de sus progra
mas, cartas, facturas, te... Inalmante exist una o las posibilidades más In
teresantes por la gran variedad de aplicaciones de software disponible en
PIM”, el COMMODORE 64 so puede conectar un cartucho que contle
microprocesador 280,

Tan Importanta como todo el hardware disponible as ul hecho de que el
MANUAL DE USUARIO lo ayudará a desarrollar sus conocimientas de ordena:
dores. No le explicará todo aquello que es preciso saber sobre ordenadores,
pero se reteric a una gran varladad de publicaciones. para Información más.
detallata sobre los tomas presentados. Commodore quiera que distruto real:
mente de su nuevo COMMODORE 64C. Y divitiéncose, recuerdo: aprender a
programar no es cosa de un día. Sea paciente consigo mismó y siga el MA
ANUAL DEL USUARIO. Blanvanldo a toro un nuevo mundo de diversion!!

nora:

‘Muchos programas estaban en desarrollo a Ia hora de procuctr esta ma
‘ual. Por favor entre en contacts con su distibukior local Commodore y con
la revista Club Commodore y Clubs de Usuarios los cuales lo pondrán al ds
de la existencia de programas de aplicaciones, escritos mundlalmente para o

DESEMBALADO Y CONEXION DEL
COMMODORE 64 C

Las siguientes Instrucciones paso a paso le enseñan como conectar el
‘COMMODORE HC a su receptor de Ielevisión, sistema de sonido o monitor y co:
mo estar seguro de que todo asta trabajando correctamente,

Antes da conectar algo al ordenador, compruebo el contenido de la caja del
cowocone «uc. Además ce este manual, deveria encontrar los siguientes art
culos:

1. comrovone ro

2. Fuente de Almentación (caja marrón con los enchutes deredy alimenta
ción)

3. Cable Video

Si alguno de estos articulos fallara póngaso en contacto con su distribu
or para recibirlos,
Primero, veamos la distribución de conexianns

ordenador y sus funcio

CONEXIONES DEL PANEL LATERAL.

1. Conexión de Allmentación, El extremo lire del cable de la fuente de all
mentacién se conecta a la toma de alimentación del counoooae ic.

2. Interruptor de Alimentación, Pone an marcha al oommonoRE sec.

3. Ports de Juegos. Cada conector de Juegos puede aceptarun joystick o con
tol juego padcle, mientras el lápiz Spice solo puede ser conectado en
ol port de juego corcano al frontal de au ordenador,

CONEXIONES TRASERAS

4. Conexión para Certuchos. La conexión rectangular de la izquierda acu!
programas o cartuchos de juegos.

5. Conector TV. Este conector trengmile imagen y sonido su receptor da te-
levisión.

6. Salida de Audio y Video. Este conector suministra directamente sofial de
aude, que se puede conectar a un sltema de sonido de alta lidad, y una
señal de video “compuesta”, por si se dispone ce un monter de TV.

7. Port Sete. Puede conectar una improsora © unidad ue discos directamente.
al commpore exe por medio de este conector

CF À
¿gs $

/ \ SS
(0) ® oO

8. Interface Cassette, Un grabador DATASSETTE pueda conectarse el ordena:
or para grabar información, programas vio datos.

4, Port de Usuario, Varios cartuchos de intotaco puede conectarse en
de usuario, como el cartucno de comunicaciones AS.

port

INSTALACION
CONEXIONES A SU TELEVISOR +
El dibujo de as conexiones del ordenador al TV se muestra on ta página &

+. Conecte un extiom del cable de la TV al jack de señal tipo fono detrás del
commononestc, Asegúrese de que está bien conectado,

2. Conecte el otro extremo del cable al conector de antena da su TV.

3 Silane antena de UHF, desconéctala de su receptor de TV.

4. Enchute al oable de red a a toma de corriente eléctrica,

5. Enchufe el cable de la fuanta de alimentación en el conector de alimenta.
«ción ene lateral del coumonone 46. Es necesario tener en cuenta que an:
sarciôn solo se efectos en una sola posición, así pués no se puede conse:
tar el cable dela alimentación de una manera Incorecta. La fuente ce ali
mentación convierte a cortiente doméstica en la forma que utliza el orde
nader.

El comuononecse ahora astá comectamanta conectado. No se reguloron
conexiones adicionales para el uso del ordenador con su TV.

CEC Y O — —

CONEXIONES OPCIONALES

Como al conworone cc está oguipado con un canal de sonido en Alta Fide:
idad, puede reprogucirse através de un amplificador de calldad para obtener
Al mejor sonido posible. Además, el Comwooone sac también está provisto de
una sonal de video “compuesta” standard a cua puede alimentar un monitor
0 television,

Estas opciones son posibles por ol jack ce salida audiovideo an al panel
rasero del commooane sc. La senciia via para acceder a estas sañalos 6 ut
lizando un cable de audio DIN standard de 5 patilas (no 4a suministra), Esto
cable se conecta directamente al conector da audlaideo an el ordenador.

sto del cabie conticnen as señales
de audio y video, Opcionalmente, puedo construlrs su propio cable, usando
‘como guia la muestra delas patas de sida cn ol Apéndice.

SI compra equipos periféricos tal como una unidad de discos VIC-1541 0 una.
impresora VIC-1625, puoce rocaeltar conectarlos al mismo tiempo. Consulte
los manuales de usuario entregacos con el equipo adicional para proceder co
rectamente en su conexión al orconader.

El sistema completo puede ser similar a este:

OPERACION
USO DEL COMUODORE He
1. Ponga en marcha el ordenador utlizando el intcrruptor vascular en el panel

del lado derecho sl mitamos ol ordenador de trent,
2. Después de unos momentos se verá o siguiento ena pantalla el tetexisor

see comme à
ES E

READY
D

MUESTRA QUE
ELCOMMODORE 640)
ESTA ESPERANDO,
SU INPUT.

- 3. Si su TV tene boton de sintonia fina manual, ajusté cl TV hasta que tenga
una imagen clar.

4. Puedo también necesita ajustar los controles de color y de brloicontaste
= en el TV para obtener la mejor imagen. Puede utlizarse el procedimiento de
justo de color deserito más adelante para obtener el tono correcto de co-
lor. Cuando vea la primera imagen, la pantalla aparecerá en su mayor parte
= ‘azul oscuro, con bordo y letras azul caro.

1 no obtuviera los resultados requeridos, repasa los cables y conexlonce.
La tabla adjunta le ayucar a aislar cualquier probloma,

> Sintoma Causa Solución
: ae Eimeruor Rangérm que
- indicador noes A rapto sta
u ste apegado orn na posición "ON"
El cable do ase en
à mére ot cable etd
conectado. bn veto.
Fuste
torcido
a para goose
® io sale von one Buique la cota!
= au
inenroctn Ge donado

Síntoma Solución
Cractens anche mar otr
sectes coneciado st eatcho
parte
Imagen sn Te hers do Pesintonice
sait sintria aw
Imagen pobre ‘use conecto Meauste we
ce cor da color mandos de ao

loto oso
secs Veume Au e mango
reo de omasiago se volumen
fondo ato

Imager volumen ‘Ns mando
poro la sap
sonido.

Pera on COMODOPE setomos aus pueden
“tados. Pam eyudartosporora sus pinguntas y asc alguns Inerssantos oat
de poyamación hemos crsaco vais pubicacones para ayuda, Punto tame
Dyer ayuceunlencon aun Gub ce Unuuriue de Ordenadores Promis de COM.
MODORE para compant sur neon

AVISO: El ComUODONE «4 ha sido ire por ve alega por culver poso

14 usuarios q encuentren oi

‘CURSOR

El cuadaco parpadeante que anarece debajo de READY ae llama cursor e
Indica que loque se pulsa an el teclado sera oxhibigo

polscaguna ec

Pantalla del ttovisor

pantalla, Cuando
cursor se moverá delante un espacio, yla posición org.
nal del cursor sard resmplazada por ol caracter qua ha pulsado, Prusbe a pul:
sur en el teclado y voa como los caracteres que ha pulsado aparecen en la

AJUSTE DE COLOR

Hay una manera simple de tener un patrón de colores net televisor, as!
puede ajustar lácilmente el receptor. Aunque puedo no estar familiarizado,
ón con el ordenador, siga adelante.y verá que file el uzo celCOMNODORE
suc.

Pr
EIB Es atrevitura ce ConTRot y se usa en unión de o
denar ala maquina que naga unas tareas especies.

ero, mire al lado izquierdo del teclado y localice la tecla marcada
ss teclas, para oF

(1600000000
g98apgenpno®

Para utlizat una tunción de control, presione a tecla ATEM y manténoaia
asi mientras puisa una segunda tecla

Pruebe lo Siguiente: presione la tecla BER mentras tamolén presiona la
tects ED. Emionces libere ambas lechas. Nada habrá sucedido, pero st pulsa
Alguna tecta ahora, la pantalla presentará ol caracter visto en modo Inverau
(nuersión de colon, an lugar del made normal

puise la BARRA ESPACIADORA . ¿Qué pasa? Si ha realizado lo anterior
correctamente, verá una bara azul claro moviéncose a través de la pantalla
Quo crecará hasta la siguiente tinea si manticrio la presión on BARRA ESPA:

GIADORA.

READY
—x

Ahora, pulse (EI) mientras presiona alguna de la otras teclas numéricas.
Caca una de els iaa al nombre de un co fn Inglés) marcado dan.
Pulsando teca consepondionte y IS so brin a car. Por ejemplo.
lve GE y acia Ey loro aras, ahora pulso ESPACIO BAR

Observe la pata: La bora añora as amar, De manar simular use
cambiara bara a cualquiera de lo tos calves indigo en as teca nue
‘ries plsando IE ta ela apropiada

Cambie ia bara a ernten colors y antoncss guste los conos deco
lor y matiz co au TV para obtener asl una prosetación a su gusto.

Ena parta aparecerá apo slr sto

fers COMMODORE Sac EIS ot +004
RAN SECTE TE pures FRE

BARRA VERDE
BARRA AZUL

En este punto todo está debidamento ajustado y trabaja correctamenta
Los siguientes capítulos lo Inrocucirán on la programación con el lengua
BASIC. De cualquier modo, puede empezar inmeciatamonte usando algunas
Se las muchas aplicaciones ya escritas y juegos d'sponibles para eleoumano-
esc sin conocer nada sobre programación de ordenadores

Cada uno de estos paquetes contiene información dotalada schra como
usa el programa, Le sugerimos, in ambargo, que lea completamente estos
Primeros capitulos de este manual para familiarizarse más con a operación
básica de su nuevo sistema.

EL TECLADO

Ahora que ha terminado de instalaro y alustaio todo, por favor tómese
‘unos momentos para famllarizrgo con el teclado, que es el más importante
medio de comunicación con su commonose sc.

Encontrará l teciado similar al de una máquina do escribir standard on
muchos aspectos. Hay, sin embargo, cerlo número de nuevas teclas las cus:
los controlan funciones enpaelallzadas. Lo que sigue es una breve deserio-
ion dala teciasy cual eu unción. La operación detal
rá Incluida en secciones posteriores.

RAIÓN
Benne
sone

La tects MR 1 indica al ordenador que la información que sa ha te
cleado está completa y que puede procesar dicha información.

La toc KID travel de manera similar a a de una máquina de escribir
estancard. Muchas delas tcia son capacos de presenta’ dos tras símbo-
los y dos caracteres grálicos. En al "mado mayisculasiminisculos” Ja pulsa.
té de la teca RI ci 10 caracteres standar en mayusculas Enel
“mode mayúsculasgráicos” la tela EEE presentara el caracte orätice
del ado derecho dela parte frontal 0 a teca.

Enel caso delas cuatro ooias de tución, la acia FE realiza la función
marcada on el frontal dela teca. -

EDICION

Nadio es perfecto, el commovone sec lo tlone en cuenta. Las teclas deed
ción permiten corragtr errores de cscrlura y mover Información por toda la
pantalla.

Hay dos cies marcadas EE (0e CuRSGRI una con tacnas hacia ar
bay atajo HEEE yla otra con chas hacia derecho a izquierda SE
Puedo utilizar entas eclas ara move el cutso aba y bajo 0 a quid y
erecha. Enel modo noma, las teclas (RE parmiten mover ei cursor abajo
y sta derccha. Pulsando al mismo tiempo la tecla {EHER y las teclas

uso se muevo ara o la zquieda. Las cle de cursor tenen una ca
raciale espacial de repetición para mantener cursor an movimento in
Katar la toca

Si puisa in tecio MES. el cursor se mover un cepacio a a izquiend
"borrando (DELating) el caracter anterior que se ha pulsado, Si está en medio
¿e una linea el caracter de I izquierda se borra y os caracteres de la derecha
“automáticamente sa muevan unidos cubriendo el espacio.

BEB : TER permite INSerTar información en una tinea. Por ejemplo,
+ advierto que ha cometido un rt al principio do una linea —auizás ha om
tido una letra— puede usar la tin ERA para mover of cursor a un espa

Glo despues dl amor y anonces pulsar RN © (SEM pa mana un
ce continuación puse a et que fa

Esta tocia posiciona el cursor en la osquina superior izquierda dela pant
10. GEIB y GEMEIN borará lo pantalla y situará el cursor en a posición an-
tes mencionada

‘opera como cl nombre indica. Esto restablece el estado normal
al ortenagor como era antes de cambiar con un programa o algun comando,
Una explicación más delallado se dará en capítulos posteñores.

TECLAS DE FUNCION

Las cuatro teclas de función en la parte derecha del teclado pueden ser
Programadas" para realizar una gran vereda de tunciones. Se pueden det
nic de muchas maneras para manejar tareas ropatitvas,

ig: gs ni:
00020030
100003000

Latecla EBEN , cuyo nombre es una abreviatura de ConTRoL permite es
cojer colores, y ejecutar otras funciones especializadas. Pulse la tocla (REIN
ements presiona otra tecla designada para accedor a una función de conto
Ha tenido oportunidad de probar latecia (BIEN) cuando cambiaba los colores
del texto para croarciferentos barras de color durante el proceso de instala

Cu

D

Normaimante, puisand la tecia EMITE parará la cjccucién de un pre.
grama BASIC. Ullizando la tecia en el “modo SHIFT” permitirá la

Gi urecın coumonone

La teca sehtada con ol Ina de COMMODORE nl cierto número
0 funciones: La primera permite movarse entre los modos de presentación
slice y testo,

‘Cuando el ordenador se pone en marcha, est en modo MayUsculIGrático,
ds dee, todo loque escribo estará on eras mayusculas. Como se ha mencio
"nado. utilizando la tecla [EHER en este modo sa exhibirán los grálicos del la-
de derecho delas teclas

Si pula lus tocas (8 cambia la presentación de mayúsculas a
mninéseuls,Añra bien, y gulan lancia ( y cvalquie otra teca con an
[ográlico,se ext el gréicoellado Irquer ea tecla quese na nusas,

Volvemos al modo rieyúscula/gráfico pulsando tas tectas [E y SIEM de

La sogunda función dela ocio (E es permitir at acceso al seguro juego
de 8 colores de texto, Pulsando teta (E y alguna de ls ecas numéricos
«uatquler texto quo añora sa ascib ester en el color aemativo usponidie
eta teta que se pulso. En el capitulo encontrar una stade los cbiordsce
texto asociados con cada teca.

RETORNO A LA NORMALIDAD

Hasta aqui V. ra tenido oportunidad de ver suficientemente a acido,
cmos algunas de las muchas Capacidades del couuonons ec
cn pantalla las varas de color para el ajuste de sureceplor de
television, puise EXA) y GEHERB La pantalla se limpiará y el cursor se si
tard en el punto "HOME" tesquina superior izquierda dela puntal.
“ahora, puise simutänesmente (E ya teca E ¿Eto selecciona e coor
ds texto en al caro Hay où paso necesario para volver ala normalid,
Pulse (EE y Eo! nimero "0", no laetra "0", Esto situa a presentación
Jas conaiciones normales. Si recworda, e pone en moco INVERSO con
ED para carlos aras de colo: (as borras de color eran espacios in
Versos) Siastaba en el rodo texto normal dura les de colores, e cursor
Le nabria monido, pero slo espacios vecos ala lauierda

UN INCISO:

‘ora ue hecho las cosas po avis si podemos ver una mana inp
de derowerala máquina au presoneción normal Prmoro gussets EID y
rranienéndoi rates ole letcia MESETA. NEED debe lampe ultras a.
es quel tela KEE

Estilo la pantalay veto toco a 1 normal. Say un progama enact
teva. seth tocado. Esta as una buena secuencia recorta espociamene sí
rectal progamman

St desea doveher la máquina las corciciones anerises como i haters apa
¡ado y oncencicooraenadorce nuev, estos SY3 4738 y puts EE. Tongo

Sula al uta este comando, Borra cualuisprogenma o bnfomación que cont

CARGA Y GRABACION DE PROGRAMAS

Una delas más importantes características del commooont sec es su capa:
idad de guardar y cargar programas en y des cinta cassette o disco.

Esto permite guardar sus programas escritos para su uso posterior, com:
rar programas pregrabados para ullizar con el COMMODORE tes

Asegúrese que ambos, la unidad de disco. el DATASSETTE están concu.
‘dos debidamente

CARGA DE PROGRAMAS PREGRABADOS

Para todos los interesados en utilizar solamente programas pregrabados

disponibles en cartuchos, cassette, disco a continuación so describe todo lo
que han de hacer:

1. CARTUCHOS: El ordenador comoooRe sc tiene una línea de programas y
Juegos en cartuchos, Los programas otrecon una gran vatiadad de aplica:
clones de negocios y personales y los juegos son similara alos ce las má.
quinas mas populares. Para cargar estos juegos, primero conecte sa recep-
tor de TV. Lo sigulonte es APAGAN su coumozone seo. DEBE APAGAR
SIEMPRE SU COMMODORES4C ANTESDE INSERTAR O EXTRAER UN CAR:
TUCHO, SINO LO HACE ASI PUEDE DAÑAR EL CARTUCHO Y/O SU COM.
MODORE. Tercero, Insert, el cartucho Anora conecte su couuaoonr Ble
Finalmente pulse la secuencia de teclas de inicio como se especifican a
hoja de instucciones que encontrará con cada juego o siga las instruccio.
nes que aparezcan on pantalla.

2. CASSETTES: Uoo su arabador DATASSETTE ya ina rdnala de aio
E us ete prgrabuda Asonirese de que el cassette est completamente e

Benin a incio do la primar cra Entonces escasa LOAD El ore
stat mapongrd con PRESS PLAY ON TAPE, puse loa "PLAY" de su
= locos OATASSETTE, En oslo punto I pantal dl ordenador se orar
fasta que el programe se naya encontrado, El ordenador dá FOUND
INOMENE PROGRAMA on la panal. Anora palas acia [E Esto ar
ar a programa anol orenador. i glee deter la operación de carga

simplemente pulse la tects

<, DISCOS: Para usar eu unid de discos inst oldadosamente el 300

prepogramage de manera que ln que disco mio necia ray ene
= Pa pate arca à VA Compra a stuzcón devra pequana muesca
a deco Gad esta tasa con un ozo de cinta, Si insert! sco de
E cmo la muesca estar on olla zuierdo Una vz is st dan.
: {ro cierre la puerta de protección balando la palanca. Ahora eseriba LOAD
à "NOMBRE PROGRAMA” 8 y pute I och RI E coco ara yen

su punta par

SEARCHING FOR NOMBRE PROGRAMA
à LOADING

cuando READY haya eparcciso y esté el cursor, sscriba RUN y pulse
EDER se sotiworopregrabado empezará a sor ejecutado.

CARGA DE PROGRAMAS DESDE CASSETTE

- Cargar un programa desde cassette © disco es sencil, Para casa
bobine la cinta hasta el principio y cri

LOAD “NOMBRE PROGRAMA”

Sino recuerda el nombre dol programa, escriba LOAD ye primer programa

- ¿eta cinta e cargará on memoria
Después de pulsar u ordenador responde con:

PRESS PLAY ON TAPE

Después de que presione la ecia “PLAY",la pantalla se borrará pasando al
¿olor del borde do la pantalla mientras el orcenador busca el programa.
Cuando el programa se ha encontrado, la pantalla presentará:

FOUND NOMBRE PROGRAMA

Para que se cargue ot programa, puise 1 tecla [E] Para abandonar pro

cedimiento de carga, pulse Si pulsa a tecia Commodore, la pante
la volverá al color del borde mientras se carga el programa. Despuse de quo el
Procedimiento de carga se ha completas, la pantalla vuelve ala normalidad y
Pronto reaparecera READY.

CARGA DE PROGRAMAS DESDE DISCO

Cargar un programa des disco sigue el mismo formato, Escriba:

LOAD “NOMBRE PROGRAMA"

Después de pulsar EEE cisco empezará a girar yla puntata presen:

SEARCHING FOR NOMBRE PROGRAMA
LOADING

READY

Nora:

‘Cuando carga un nuevo programa en ia memoria dei ordenador, algun pro-
¿rama exstonte en la memoria previamente se borará. Aseguroso de guardar
«programa en el que ha trabajado antes de cargar uno muevo, Una vez un pro:
grama se ha cargado, puede hacer RUN, LIST, o realizar cambios y grabarla
nueva version

GRABACIÓN DE PROGRAMAS EN CINTA

Despute de entrar un programs, e! desea guerdario en una cinta, escriba:

SAVE “NOMBRE PROGRAMA’

“NOMBRE PROGRAMA” puede ser una combinación de un máximo de 16.
caracteres. Después de pulsar METE el ordenador respondrá con:

PRESS PLAY AND RECORD ON TAPE

Presione las teclas "REC" y “PLAY” del DATASSETTE, La pantalla su bo
rra, canviando al color del borda,

"Después do que el programa se ha grabado en cinta resparecerá READY,
indicando que puede empezar atrabajaren otro programa, 0 apagar. ordena:
der sin order su programa,

GRABACION DE PROGRAMAS EN DISCO

Guardar un programa en disco es igual de simplo. Escriba:

El 808 el codigo de pertäri de a unidad de disco, asi el ordenador sabe
que se quiera quardar al programa en disc.

Daspués ce pulsar EIEN disco ompozara a girar y el ordenador res:
ponder con:

SAVING "NOMBRE PROGRAMA"

PRINT Y CALCULOS

Anora que ha osimilado gracias a unos ajemplos como gravar y.
mas, empezaremos a escribir algunos para guardarlos

progra:

Pruobo escribiendo o siguiente tal como sa

PRINT "COMMODORE 64.
‘COMMODORE 64 ©

READY

Si ha cometido un error de escritura, use la tecla [EERE para borrar al

far Inmediatamente aia izquierda del cursor, Puede borrar muchos ca
racteres el 08 novesalio

Veamos que ha pasado en el ejemplo anterior. Primoro, se indloa ordena.
or que naga un PRINT fimprims, taalmento) con o que eeté dentro de las
comilas, Pulsando QE se Indica at ordenador que ejecuts la instruc-
ción y COMMODORE 8°C #0 exnibe en la pantalla,

Cuando se utiliza la sentencia PRINT de esta forma, cualquier cosa ence-
rada entro comillas se exhibo exactamente como na sido ascrta

Si el ordenador responde com:

2SYNTAX ERROR

le anuncia que ha comatido un error de escritura, o sena chao dea

as El ordenador admi sat inetucciones dacas de una toma ospcifia

Trav nace prscupe;ecuerde entra ls osas como las puesenlames en
Jos eng y no tarda problemas con a manejo de su conmosone Me

scare, no pue esiopesr el ordenador con evore de asc y la
mejor mana de aprender BASIC es provanco diferentes irstruccones y ob
Survando los resultados

TINT Ge ano de 10a comandos más lacs y otanta del lenguaje BA
i. Con poo presentar 1 qu dea, Incluyendo gros, y rosultados
de cálculos

Far asp pruebalo sgulant. Limp la pantalla pulsando las telas
(A EME y nc lasegroso que liza 1 tela," no Le lt

"

PULSE
EL ORDENADOR
RESPONDE

Ha descubierto qua el commonone sec es una calculadora on su forms bási
ca. El resultado “24” ha sido celculado y presentado automáticamente. De no:
cho, puade también ejecutar restas, mulilicaciones, exponenciaciones, y
= complejas tales como calcular raices cuadradas, le

funciones mate
Y nö se lita a un sólo cálculo an una Iineu, poro más adelante fo veremos

con más detalla
"Notese también que en la forma anterior, PRINT so comporta de manera d+

terente del primer ejemplo. En esto caso, un valoro resultado de un cálculo se
exhiba, en vez del mensaje exacto que sc entró porque las comillas so. ami

suma

€ signa más (+) soñal la suma: e ina al ordenador que presente el
astado de 12 aunado a 12 Otras operaciones atlmlices toman una forma.
Similar 3 a suma, Rosuerde siempre pulsar RER después de escribi
PRINT y el culo

RESTA

Para restar, usar el signo convencional menos (--) Escriba:

PRINT 12

MULTIPLICAGION

SI quiere mutilicar 12 por 12, use el asterleco (* para representar el signo.
de la multiplicación. Escribi:

Pulse RER

vision

La division usa la tamilar Por ejemplo, para dividir 144 por 12, escriba:

PRINT 134/12

De manera similar puedo facilmantaalevar un númaro a una polencia es
lomismo que muliplicar un número por sí mismo un número de veces espe
Fado). La "1" (Ficcha ariba) sig

Escriba

Es lo mismo que escribe

Nota:
EnBASIC sa dispone da citas manera de wore as peracionss. Uno dea
and BASIC altra eave 8 puede usa

ive PRINT por ample. EL ApgniceDpresetalasabrevaciones

El último ejemplo presenta otro punto importante: mucho:
los tipos,

“EL SIGNO?
SUSTITUYE LA

PALABRA PRINT

Hasta este m

nanto na utilizado números pequeños y ejemplos simples
De cualquier modo, el commonone ces es capaz de cálculos más complajos

Puede, por ejemplo, sumar un númcro de muchas cifras, Pruobe esto, pero
no usa ninguna coma, o incurs en er or.

Esto parece claro, poro ahora pruebe esto

Si 30 toma la molestia de sumar esto a mano, la dara un resultado ileren-
te

¿Qué ha pasado aqui? Igual que e ordenador lena una potencia, hay un
nit de os números quo puedo manejar. EI comooóng sc pusdotrabelar con

"números que contengan 10 digitos. De cuslquier moco cuando un número 0s
presentado. solu salen nuere digtos

Alan este ejemplo, et resultado us “redondeado” para adaptarse. cu pra
plorango El cowunconeess redundva hacia arrive cuando o! último digito os
cinco o más: redondea acia abajo cuando el time digo es cuatro o menos,

Números entre 001 y 999,999:989 se presenten uilizando la notación es.
ander. Números fuera de stos (mies se exhiben utlizande la notación cien
to.

La notación cientifica cs el procedimiento de axprasar un número muy
grande o muy pequeño como una potenela de 10

Si escribe:

sto es lo mismo que 129 10-17 y se usa para manejar cantidades gran.
des,

Hay un limite para los números que el ordenador puede maneja? también
en notación cientitica, Estos limites so:

NUMERO MAYOR: + 1701471836 +38
NUMERO MENOR: + 299873588E—39

PRECEDENCIA,

Si prueva a ejecutar algunos cálculos mixtos ifsrentes de los ejemplos
‘que homes presentado anteriormente, puede quo no le den los resultados que
espetata. La razón es que al ordenador ejecuta los cálculos en un cierto ur
den.

En sto cálculo:

204 8/2

ose puedo decir que sea la respuesta 240 14 hasta conocer en qué orcen se

ejecutan las operaciones. Sisuma 20 ai resultado de dividir @ entre 2, a res
24. Paro, si suma 20 más 8 y die cl resultado por 2 la respuesta 6

ne al ajemplo y vea cual es el resultado,

La razón de qua saa 24 es porque el couMoDORE ss ejeculálas operaciones

de Izquierda a dorocha de acuerdo con el siguiente orden:

Primero: — signo menos indica número negative
Segundo: = axponenciación, izquierda u derecha
Tercero: “Y multiplicación y division, izquierda a derecha
Cuarto: + Suma y resta, nquiorda a derecha.

Experimente con a ardan de precedencia, y verá que en el ejemplo dear
baa listen s ejecuta primero y entonces la operación da u resultado de 24,
Hage algunas pruebas por sl mismo y vea si puede seguir adelante y predecir
106 resultados de acuerdo con las reglas dadas ariba.
Existe una manera sencilla de alterar el proceso de pracadencta usando pa
‘antes para compensar las operaciones que quiera que o ejecuten primero.
Por ejemplo, si quiere dividir 35 por 6 más 2 ascriba:

tended 36 dividido por 5 con 2 sumando alrasultaco, lo cual no lo que seh
bla propuesto. Para tener lo que realmente queríamos, pruebe esto:

Le que ha parado ahora es que el ordenador ha evaluado primero lo conte
nido en los paréntesis. Si nay paréntesis entre paréntesis se evalua primero.
lo comenido en los paróntoss interiores

Cuando hay varios paré

«el ordenador evalua de iuicráa acerecha 21 82 multiplica por 7 para ober
como resultado 14.

COMBINANDO COSAS

Igual que hemos empleado un montón de tiempo an Araas qua punden no
parecerle muy impertantee, toe detalles presantados aquíle serán de gran ul
Ada ura vez empiece a programar. y se revelorán de un valor inestimable.

Para darle una cierta idea de que site ocupa cada cosa, considere lo el
qulante: ¿Cómo combinari los dos tipos de sentencias PRINT que ha oxaml
nado de modo que so exhiba algo más significativo en la pantalla?

Va. sabe que encerrando algo entre comilias imprime la información on la
pantalaexactamnto como se ha tecleado y ulizando operadores matomáti
cos, se ejecutan los cálculos. Da este modo, ¿Por qué no com
pos de sentencias PRINT de manera similar a Aa?

los sl

Aunque esto puede parecer un poco redundante, hemos hecho uso de am
bos tipos dí sentencias PRINT unidas, La primera parte Imprime 'S 79 =
exactamente como sata escrito. La segunda parte hace el cáiculo y presenta
el resultado, con a punto y coma se separa la parte del mensaje dela senten
Pucde separar as partes de una sentencia de impresión mita con signos.
de puntuacion sara
ma y von que pasa,
Para los curiosos, ul punta y coma hace que la parte próxima de la santen
cla see exhibida inmediatamente después dela pare preis sin ningún espa.
cio. La coma lu luce algo decente. E Igualmonto un separador acoptablo
spacia más las cosas, Si escribe:

las formatos. Prucbe una coma en lugar del punto y eo

22,345,6—
2 3
$

los números se imprimirén de una arte a atra ce la pantalla y abajo en alinea
siguiente

La presentación del comwooone ete astá organizada on 4 áreas de 10 co
Jumeas cada una. La coma tabula cada resultado en a próxima ra Glsponi.
ble. Como pedimos que se exniba más información que la que cabe en una lí
nea, (probemos de adaptar 5 áreas de 10 columnas en una lina) el último va
lor e presentará en a linea agulente.

EL SIGUIENTE PASO

Hasta ahora hemos ejecutado algunas operaciones sencillas entrando una
inea sola de Instrucciones an el ordenacor. Una vez se na puisaco EDEN
la operación especificada es ejecuta inmediatamente. Esto se llama "MODO
INMEDIATO © CALCULADOR”.

Pero para hacer algo signiicalivo, debemos poder operar con ol ordenador

con mas de una linea de programa. Un número de sentencias combinadas uni
‘das sa lama un PROGRAMA y permite usar toda la potencia del COMMODORE

Para que ve lo fácil que es escribir su primer programa en
secreto esto:

I E cc JE

Escisa NEWy pulsa {Esto orar cualquier número qu pudlera

babor en la memoria del ordanador durante los anteriores experimentos)

Ara ¿sora 1 siguiente exactamente como se lustra Mecuerde pulsar
después de cada nea)

COMMODORE

Anora, escriba RUN y pulse METI, observe lo que pasa. Su pantalla em-
parará a llenarse con las palabras COMMODORE 64. Después de unos instan
tes pulse (IMEI para detenar a! programa.

(Carte número de conceptos importantes ss han Introducido en este corto
programa: son las bases ce toda programación,

Acverlimos que aquí cada sentencia va precedida de un número. Esto nú
mero de LINEA dice al ordenador en qué orden ha de ejecutar cada instruc
ción, Estos númaros son también un punto de referencia, en el caso de que el
programa necesite retroceder a un linea detarminaca Los números de linea.
puzcen tener cualquier valor numérica (entero) entre 053969

19 PRINT “COMMODORE oc
AENA onerauecion

Poe eRe
2 CIPLCORE
ERE
Reno

.

Una ba
mentos de 10 asian et caso de que se necosit insertar mas tarde otras líneas
pueda hacerse con os números que han quedado libres
Además de PRINT, su programa también usa ota instrucción de BASIC.
‘GOTO (ra, en inglés) Esta hace qua el ordanadorvaya a una linea particular y
tonces continua desde ese punto

1a costumbre al programar es la de númerar1as lineas an Incr

la ojecuto,

C 18 PRINT "COMMODORE 640

26070 19

En ol ejemplo, el programa imprime el mensaje on Ia linea 10, va a la nea
‘siguiente (201.1 cus! lo indica que debe volver aa linea 10, Ail cleo se rep
ley no Ioneremos una manera de sali do este bucle, el programa seguirá ter
namente haste que lo paremos filcammente con fa tc!

“Una vez haya parado el programa, escriba: LIST. Su programa se presunta:
r intacto, porque astá on memoria, Advirta quel ordenador ha convertido al
en PRINT para el istado. El programa ahora puede cambiarse, quarcarse, 0
ponerse on marcha otra vez.

Otra diferencia importante entre escribir algo on modo inmediato y on me.
Go programa es que una vez ejecutada y borrada la pantalla en una sentencia
Inmediata, sta se ha perdido. Sin embargo, siempre puede recuperar el pro
grama escriblendo LIST.

De esta manera, cuando use abreviaturas no ovida que el órdenador puede
excoder la capacidad de una lina si usa demasiadas.

NOTAS EN LA EDICION DE PROGRAMAS

Si comete un error en una linea, tiene una sere de facilidades de ecición

para oorregie.

1. Puede volver a escribir una tinea, y el ordenador automáticamente sust
18 la antigua por ia nueva.

2. Una línea que no se necesita pueda borrarse simplemente ascribienco el
número do línea y

3. Puece también cambiar fácilmente una línoa existante, usando las cias
de cursor y esición

Supongamos quo comets un aran una linea dl ejemplo ara comegra
sin tener de serie de nuevo la nos entra, prue ext

ati LIST, omoncos solas teclas ID y WEED units ara mo
ver al euro hacia aba hasta posicionar en a ina quo necesita cambiar

nora, tic a tcl del cursor la derecha par moverel cursor cia e
caracter que quer cambiar, esc cambio encima del carter antiguo.
Aora pulse (ETS yla línea correcta reemplazard a la antigua.

‘Sinecesta más espacio en ne. poscione ol cursor conde e necesa
«sospacioy polo ENE y AEREO at mismo tomo ys ar un espacio.
fora ana I información adiciona y pulse MES uamanin, puedo
Gomar foe caractere que cura itsando el curser al dera caracter a
Ber y ule i ost

Par voca estos cambios que shan entrado, ui LIST otra ver,y 88
presentará ol programe conecto Las nas quo no ze han entra en orden
ume, el ordenador ls situa automálcamento ena sto dentro de su
secuencia

‘Prue tar ol programa spied la páina 3 cambiando alinea 10y
añadido una coma a al de La na
Entonces Paga RUN ota vez

SPRINT COMMODORE *, a

VARIABLES

Las varlabios son una de las características más utlizadas ce cualquier
lenguale de programación, porque las variables pueden almacenar mucha In-
formacion en e ordenador. Comprendar cómo trabajan las variables será una
gran ayuda para Va. y ños pemmiirán realizar cosas que de otra manors no se
Flan posibl,

COMMODORE COMMODORE CAAMODURE — COMMODORE
ESMMALORE COMMODORE COMMGDORS, COMME
COMMODORE — CORPOLURE LUMMQUUEE | COMMODORE
COMMODORE CMMMDERFE COMMODORE EDO:
COMMODORE COMMODORE | COMMODORE CONMDLUR
IOMORE EEMMCEORE — COMMODORE COMMODORE
AMIUUORE — CORREDORE COMMODOFE — COMMOTNeE
SIMIAORE —ECHICDORE — CCRMGDORE CPE
MINOUORE COMMOOURE LEMMUUURE COMMODORE
COMMODORE —-FFIRRORNRE — COMMEOURE

COMMODORE — LOPMODURE _ LUMMODORE

UNMODORE — COMMODORE — COMMODORE

EOMAANARÉ MODORE EOMMOCOFE

Imaginese un número de casila dentro dal ordanador que pueda cada una
contenar un número o una cadena da caracteres de taxto. Cada una de estas.
cajas está etiquetada con un nombre que escogemos, Este nombre so llama.
Variatio y representa la información de in caja respectiva,

Por ejemplo. sl entramos:

10 = 15
28% = 295
UNS = "LA SUMA DE X% + X

EI ordenador representa Ins variables do esta manera!

X$ LASUMADE X% + X =

Un nombre de variable representa la cala donde bstá almacenado el valor
actual cela variable, Como pueda verse puede asignar a una variable un nú
mero entero, un número on coma tlotanto,0 una cadena decaracteras El sim.
bolo % que sigue a un nombre de varlablo indica que sta la representar un
nümaro entero. Los siguientes son nombres válidos de variabida enteras”

AM
x
a0
Nm

EIS" siguiente un nombre de variable indica que ésta representa una ce:
ona de caracteres. Lo siguiento son ejemplos de variable de cena:

as

xs

mis

Las variables de coma flotante siguen el mismo formato, sin ninguna ind
cación:

a 4

x

Y

m

Para asignar un nombre a una variable hay algunas cosas a toner on cuen
ta. Primero, un nombra de variable puode toner uno o dos caracteres, El primer
caracter debe ser un caractor alfabético dela A a la Z; el segundo caracter
puede ser alfabético © numérico (en el rango Da El tercer caracter puede in
lulse para indicar al tipo de variable fantera o cadena de texto}, % o.

Pueden usarse nombres de variables que tengan mas de dos caracteres al
fabéticos, pero sólo os dos primeros son reconocidos por el ordenador. As
PA y PARTNO gon ios misinos y 30 eterirán a la misma caja do variable.

La última regla para nombres ce variable es simple: no pueden contener
ningun palabra-iave BASIC (palabras reservadas) tales como GOTO, RUN,
ete. Consulta el Apándica D que contlans una sta compista de palabras re:
sorvadas BASIC.

Para vor cómo las variables pueden ullzarso para trabajar, escriba el pro
¿rama que mencionamos antes y haga RUN. Recuerdo pulsar EME des-
pués de cáda línea en el programa,

10X% = 16

36XS = "LA SUMA DE XH + X
AB PRINT X = EX = EX
SG PRINT XS; X% + X

Si ha hecho cade cosa como se we
que aparece

q a tustración dato gordo resultado

en Ia pantalla:

Hemos reunido todos los trucos aprendidos asi ahora para formatear la
presentación como la ve e Imprimir la suma de las ds variables.

En as news 10y 20 osignamos un valor enter aX % y asignamos un valor
an coma flotante& X Esto coloca los nümeros asociados con las variables en
sus cajas, En la línea 20, asignamos una cadena de texto a X8. La linea 40
‘combina los dos tipos de sentencias PRINT para imprimir el mensaje y los va
lores actuales do X y X La linea 50 imprime la cadena de texto asignada a
XBy la suma de XH YX

Nótese que al igual que X se usa como parto de cada nombre de variable
Los identificadores % y Shacan único, X%, Xy XS, así representan tres va
los istintas.

Pero las variables son mucho más potentes, Si cambia su valor, et nuevo.
volor sustituye al valor orginal en la misma caja. Esto permite escribir una

encia similar

xxs

Esto no sería aceptado en algebra normal, pero es uno delos conceptos
més utilizados en programación. Esto significa: coge el valor actual de X, sú
Male uno y sita la nuera suma en la caja que representa X

IF..THEN

“Armados dela habilicad para actualizar ciimente al valor delas variables,
podemos ahora probar un programa tal como:

neu
M CT= et +1

in IF ET € 5 THEN 28
Se Eno

COMMODORE 64.

Hemos inroducido dos nuevos comandos BASIC, para proporcionar con:
{roi sobre al pequeño programa quo llenaba la pantalla con cl mensaje
COMMODORE 6e presentado al incio de aste capiul,

1F..THEN añado alguna lógica al programa. Dice IF (Si condicional, en in
¡glés) una concición se cumple THEN (ENTONCES) realiza la operación. SF)
la condición no se cumple, ENTONCES (THEN) 9 ejecutará la próxima lines,
de programa,

Un cierto número do condiciones pueden urplorarse usando una sentencia
IF. THEN:

SIMBOLO SIGNIFICADO.
< Manor que
> Mayor que
= tual a
<> No Igual
> Mayor o Igual Que
< Manor o Igual Que

Elusodo alguna do estas condiciones es 1áci,y sorptendentemente polen
te.

mer"
26 2commovons sc"
Bor=cr4

Le IF CT <8 THEN 29

Senn

En este progama, hemos etalcioun “bul ue tene ns condición
aun cumpt tu vores enor que 3 ENTONCES severa 20

La tra 10 eaten ela do Cr Goer" ad La ines Zire sm
cojo Lana Jona nos avale CT Esla ire cuenta cuntosvoes o
piel boc, Cada ve quo tule cts, CT aura uno

La inane ina con SOT eso ue loc cun rajo
eutas buch mens 01008, programe a nca20y imprime
Samos aan OT gual 5 rer 5 impresiones COMMDOONE so
Ol programa vn a a ica 8, e cual teal lr (END) da programa

eos programe y ven qué gica. Cambiando alien tines
puede ere’ clear mao de eos ingresas

TF_THEN no mula nos oso sales over an are ot
slo

BUCLES FOR...NEXT

Existe una manera mas simple y eficaz de realizarla tar del ejemplo pre

vio y es usando un bucle FOR..NEXT. Consider lo siguiente:

170
PRINT "“COMMODURE 64
NEXT ct

COMMODORE $41
COMMODORE 240
COMPIDORE 541
Cónmonore 64

MMODORE 64

Como puede ver, el programa os más corto y mis directo.
CCT toma al principio el valor 1 en 1 inea 10. Ena linea 20exhibe cl mensa:

En nen 20 Ta nstementa o 1.1 ten NEKT SIGUENTE e im
Ta pane FOR ata de soto FOR. NOR Elec coa
a y

Sentra y ejecuta eto programa, verá qua los números del 1 al 10, se exh
ben a lo largo de la pantalla, an incremntos de 05.
Lo que estamos haciendo es exh bi os valores que va tomando NB a med
da que avanza el buch.
Puede igualmente especificar ella variable se incrementa o dscrementa.
‘Cambie ta línea 10 por lo siguente:

WOR NB = 1810 STEP —5

Y ves que cure lo contrarlo, como NB va de 10 1 en orden descendente.

INTRODUCCION

Los proximos captives se han escrito para los usuarios que están relata
mento familiarizados con el Icoguaje de programación BASIC y os concoptes
necesarios para oscribir programas en esta lenguajo.

Aquellos quffolezan a aprender cómo se programa, pueten encontrar
sta informacióWMuizas excestramenteiécnica para comprenderla completa.
mente. Pero tómeselo en serio..porquo para estos dos aivaridos capitulos,
GRAFICOS SPRITE y CREANDO SONIDO, hamus puesto algunos ejemplos
sencillos que están escritos par el usuario que emplaza, Los ejemplos le de
rán una ides de cómo us las olisicadas capacidados sonoras y gráficas
disponibles on gu couuonons sc.

Si decide que quiere aprender más sobre proparación de programas en BA-
SIC, hemos incluido una bibliografía (ver apéndice N) al final da este manual,

Si está dispueeto a lamilariarse con la programación BASIC, estos cap).
{ios te ayucarán a empezar con técnicas avanzadas do programación BASIC,
Informacion más detallada se puede encontrar en la GUIA DE REFERENCIA
DEL PROGRAMADOR DEL COMMODORE 61, disponible a través de au distri
buidor local de Commodore.

ANIMACION SIMPLE

Elercitaromos ahora algunas do as capacidades gráficas del comuonone
ei cuniende lo que hemos visto hasta ahora, unto con nuevos conceptos. Sie
“audaz, escriba el sigulate programa y ves lo qué pasa. Advertiá que dentro
Ge las sentencias de impresión pueden también inlulrse controles de cursor
y comandos de pantalla. Cuando vea la imagon de una tala en un listed do
programa, pulse la tecle o combinación e teclas que correspondan. La panto:
tia mostrará la representación grélica que está asignada ala función corres
pondiente.

nen
. INDICACIÓN DE NUEVOS,
REM PELOTA EOTANDO, A COMANDOS.
ME

sera ES sueT Ela,
TOUR PRINT NEXT RENA ES CRER, BRIO

2 FORM=ITOSO

8 PRINT-UaN ¿REN ca ES GUEY Gm ES CRSR IEEE

75 ren Ve" TE TERECHA À IZQUIERDA.
oa
: MIT REM" ES CRSR TOQUIERDO:@ ES SHIFT Qi

EL ESPACIO ES INTENCIONADO

120 METE
435 001026

El programa mostrará una pelota rebotando y moviéndose de Izquierda.
derecho, y vuelve tra vez, por toca la pantall

Sl onsorvamos el programa de la página pe
esta acción

La lnea 10 cs un comentario (REMark) que cuenta qué hace el programe

amos vor como se realiza

1e REN PELOTA BOTANDO
— 3 PRINT’ REND ES SHIFT ELR/HOME
1-25 FORRELTOLA PRINT NEAT RENO ES CRER RERO

am FORD 11020
49 PRINT" eu REN "0 ES SHIFT RIM ES CRSS IZOLIERDO.

LE rer EL ESRI ES INTENCIONADO
HE!

“76 secre
75 REN MIEVE LA PELOTA DE
RUE

CHA A IZQUIERNA

2 PRINT” MR REM IN ES COS IZQUIERDO: 0 ES SHIFT O,

ce FRET ATOS EL ESPACIO ES INTENCIONADO
e EXT
izo wur
20 607028

0 lang en efecto sobre el programa. La nea 20 Impia ta pant
mación.

La línea 25imprime 10 comandos cursorabajo. Esto posiciona la paiota on
‘medio do a pantalla. la ines 25 se elminara la pelota se movaria alo largo.
Ge la linea superior de la panal,

La línea 30 nica un Ducle para mover La pelota las 40 colurenas do izquier-
daa derecha,

Lalinea 4Ohace muchas cosas. Lo primero se imprime un espacio para bo-
‘rat la posición preva de la pelota entonces imprime la pelota, yfintimente:
ejecula un cursoriequierda para estar sto para borrarla posición tual e la
pelota otra vez.

El bucle puesto en las líneas 60 y 60 retarda la pelota un poco o demora al
programa. Si no, a polota se moverá demasiado rápido para vara,

{a nea 70 completa el bucle que imprime pelotas an la pantalla, iniciado
on la línea 90. Cava vez que el ue so ejecuta, la pelota so mueve otro cepa:
io a la derecna. Como aclara en la iuetracin, ce pone un bucle dentro de
‘oto bucle.

Eslo es pertectamarto aceptable, Sólo l rá mal cuando un buele se race
on otro, Para ayudarle a escribir programas para probaros o hemos ilustra
¿do aqui asegúrese de que la lógica del bucle es correcta.

Para vor qué pasará si so cruzan dos bucles, invierta las sentencias de las
línsas 60 y 70. Encontrará un error porque al ordenador se contunda y no pue:
de saber dónde debe i

Las Imeas 80 a 120 invierten los pasos dela primera parte de) programa, y
mueve la pelota de derecha a izquierda, La linea 90 os levemente cilereno do
1a men 40 porque la pelota sa musva an la clrección opuesta Momo porrado
la pelota a derecha y hamos movido a la Izquierda) \

deintor.

lado toc el programa vuoive la linea 20 para empezar
(ec (RUNISTOP)

Cuando so na el
todo el proceso otra vez. Para parar el programa presione I
y pulse (RESTORE)

Para una variación en el programa, ace la ines 40 para ler:

A — acne ce ae

Ejecute el programa y ven qué pasa ahora. Como dejamos fuera el control
da cursor, cude pelota queda en la pantalla hasta que se borra por la pelota
¿qua se muere de derecha a rqularda on la segunda parte del programa,

INPUT

Hasta ahora, caña cosa dentro de un programa se ha puesto anten de eje.
eutaro. Una vez 1 programa esta on marcha, no se podrá cambiar nada. IN-
PUT (ENTRAR en Inglés) nos permite el paso de nueva información al prog
ima cuando se está ejecutando y actuar en función de esta intormación,

Pare que tenga uns idea ce
y entre esto corto programe,

18 INPUTAS
28 PRINT"HA ESCRITO:":AS USTED ESCRIBE
38 PRINT

48 GOTO1S EL ORDENADOR

RUN
COMMODORE sc — „SONTESTA

HA ESCRITO: COMMODORE 64.¢ “”

15 que pasa cuando se ll. Aparecerá un
signo de interrogación, indicando que al ordenador está esperando para que
seria algo. Entre algún caracter, o grupo de caracteres, por el teclado y pui
se MEME E ordenacor entonces respondorá con "HA ESCAITO:" seguido
¿e la información que se entr.

Esto purge parecer muy element
cer el ordenador con a Información.

Puede entrar variables numéricas o de cadena y so dispone además de un
mensaje de aviso. El formato de INPUT es:

| pero trate ae Imaginar lo qué puede na

INPUT “MENSAJE DE AVISO” VARIABLE

0, sole

INPUT VARIABLE
"NOTA: Para al de esto programa pulso las tetas ‘En

El siguiente programa no es soo uti, muestra un montón de cosas que han
sido presentadas hasta ahora, incluyendo las nuevas sentencias de entrada.

Men

1 EN PROGRAMA DE CONVERSION TE ZENSERATUR
9 PRINT! RENTO ES SWIFT CLRCHONE

30 PRINTÜCONVIERTE EN FFHSEIGETT O CELSIUS CECI" INPUTAR
2a IFR" THES

30 ESSE "THERE
48 1FSSC>'C> THR:
30 HEUTPENTRE ORI

£a PRINT
$ orate
190 HAT:
EEE
(28 SRTITF." GRAD, PSHRENHEDT
ceLsTUS"
a PRINT
130 0To19

GRADOS FRHRENHEIT

Sienra y ojacua eto programa, verá a INPUT en acción.

La nga 10 usa In sentencia de nvada no solo para recoger información,
sino que también eaten mensaje. Además podamos por un númeroo ca:
dana allanumérica (usando una variable námerica ode cadena)

Las nas 20,50 40 compruahan loque sha ecto, Enia nea 20,1 na
a so entra foto se pisa (EII), entonces el progama vuetes la ina
10 ple otr vez la stat, En a Inc 0, e scr, S2br que ol suo
o quiere convertirla tomooratura de gratos Fahranhalt Casius si pro.
grama va a a parte donde se hace la conversión.

La inoa 40 hace una prueva más. Sabamos qua hay lo dos opciones vl
‘as quel usuario puede entrar, Para Ingar al linea 40, el usuario devo haba
freno algún career que nos F. Ahora, e haca una prueba para vor siesta
arte es ©; 10, el programa pide la entrada ota vez.

Esto punde parecer un detalle superflu, pero es una buena práctica de pro
gramaclr.

Un usuario no famirizado con el programe puede quedar muy frulrad s
‘cute algo extraño porque un aror ha hecho entrar información imprevista

Una ver hemos determinado qua tipo ce vonversión ejecutamos, el progra:
ana nace el cálculo e Imprime la temperatura entrada y la convertida.

El cleuto es oxacto malemáticamento, and la formula estableció para
«conversión de temperatura, Después de que al cálculo se acavay la respuesta.
Se inprime, el bucla del programa vuelve a empezar

Después de ejecutarla panlalla será similar a esta:

CONVIERTE EN FAHRENHEIT O CELSIUS (ICh ?F
INTRE GRADOS FAHRENHEIT: 32
32 GRADOS FAHRENHEIT = GRADOS CELSIUS

CONVIERTE EN FAHRENHEIT O CELSIUS (FIC: ?

espuds de ejecutarel programs, asegurese de guardarlo en disco 0 cints.
Esto programa, como muchos otros presontacos a través de este manual
pueden formar parte de su biblioteca do programas.

GET

GET permite a entrada de un caracter cara vez desde el
MEE ¿so resimonte acele a entrada de datos en muchas apache
es. Cualquier tecla pulsars ex asignado a la variable que ae especifica con
ser.

a siguiente rain ilustra e

clad sin puiser

mo trabaja GET

1 PRINTS RENO ES SHIFT CLRAHIE

3g rs eno MO NO HAY ESPACIO
39 607216 AQUI

Sihace AUN con este programa, In pantala so limpiará y cada vez que pu
32 una tecla la lines 2018 imprimir enla parta, y entonces hará un GET ito
mars) otro caracter, Es Importante notar que el caracter entrado no se mostra
13 a manos que especifique PRINT en la pantalla, como se ha hecho aquí

La segunda sentarcia de la línea 10 es también importante. GET trabaja
‘conlinuamente, qual sino sa ha puisado ninguna tec (no came INPUT que
espera una respuesta) asia segunda pare de esta tinea continuamente prus
ba elteciado hasta que una tecla os pulsada.

Ves que pasa a la sogunda parte de la nea 10 es eliminada,

Para parar ol programa puede pulsar Jas lectas

La primera parta del programa de conversión de temperatura puede fil
mente sscrbirse usando GET. Cargue ol programe de conversión da tempera
tura, y modique las lineas 10, 20 y 40 como se muestra

18 'PRINT*CONVIERTE EN FAHRENHEIT O CELSIUS ¢F/D)"
29 GETAS: IFAS=""THENZO
32 IFAS<O"C"THENZO

Esta modificación hard que el programa opera suavemente. nado pasará a
menos que el usuario pulse alguna de la tocas provistas.

Una vez eótá hecho el cambio, asegúrese de quo guarda la nueva versión
dl programs,

NUMEROS ALEATORIOS Y OTRAS FUNCIONES

El couuooon=sc contiene un número de funciones que son usadas para
elecutar operaciones especiales. Las funcionas pueden ser inctidas en un
programa BASIC, Pero antes de que escriba un númcro de sentonelas cada
vez que nceuate ejecutar un cálculo especializado, escriba el comando ce la
unción descada y el ordanador hará el resto

Muchas veces suande alseñiamos un Junge ou programa educativo, sons
Gósita generar un número aleatorio, para simular fa rada de un dado, por
elempio. Puede ciertamente escribir un programa que generará estos rma.
ros, pero una vic a llamar ala función de números RaNDom faleatorios).

nen

18 FORX=17010 SI QUITA LA COMA SU LISTA DE
29 RINTRNDC I>, — (QUMEROS APARECERA A 1 COLUMNA,

Después de comenzar el programs, verá en fs pantalla algo simular a est:

us números no son ¡guales? ¡Blen, si se toma la molestia de comprobar.
Lo Serán completamente aleatorios!

Pruebo ojeculando el programa unas cuantas veces para veiicar que los
esultedos son slemprecilerentes, Igual s os námeros no siguen algún pe
rs por advert que algunos salen ala vez qua el programa emplo-

ón, e

‘primero, los resultados siempre cetén entre 0 y 1, pero nunca igual a 06 1
Esto nunca será hecho ciertamente el queremos simular el lanzamiento al
“azar dol dado, desde que estaunos mirando números entre 1 y 6,

à tra caractorisica importante que vemos es que estamos tratundo con
“meros reales (con cifras decimales). Esto puede ser también un problema
dado que a veces se necesitan números enteros.

"encilas de product numeros dela función ANDen el rango,

ja 20 por la siguiente y ojeeute el programa otra vaz

Esto resuelva el problema de no obtener resullados mayores que 1, pero.
¡un tenemos que Iratar oi problema de la parte decimal del resultado,
La función INTegor fonts) convicto números reve en valoras anteros.
Una vez más, sustituye a linea 20 pora siguiente y ejecute el programa pa:
ra var al afecto del cam

28 PRINT INTESIRADO

Esto nos permite gonerar número elseterios anto Y y. Slexamina lo que
hemos generado esta dima vez, encontrará que al rango d los resultados va
solo de 088.

‘Come último paso, sume un uno le santancia, como sigue

24 PRINT INYO ANDI) + 1

Ahora, homos obtenido lor resultados Gescacos.

En general, pueda stuar un número variable. © alguna expresión BASIC en.
twa los paréntesis de a función INT. Doponciendo del rango deseado, puedo
multiplicar limite superior por la función AND. Por ejemplo, para gonarar +
mares aleatorios entre 1 y 25, puede e2cr bi

24 PRINT INT(2S*RND(H) +1

La fórmula general para generar un juego de nämeros aleatorios en un ra
90 fo es:

NUMERO = INT (LIMITE SUPERIOR“ RND( + LIMITE INFERIOR

JUEGOS DE ADIVINACION

Después de dar algún rodeo para entender los números aleatorios, ¿por
Qué no utilizar asta Inormación?. El siguiente juego no solo lstra un buen

uso de fos números aleatorios, ino que también Introduce algunas teorias
Adicionales de programación
tendo este programa, un número ateatoro, NM, sora generado.

INDICA NO
ESPACIO DESPUES
DE COMILLAS,

nen

1 REM JUEGO DE ADIVINRR NUMEROS
2 PRINT :REM" ES SHIFT CLR/HOME

5 JHPUT"ENTRAR EL VALOR SUPERIOR PARA ADIYINAR" LI
19 NIEINTCLIARNDCL2941
20 FRINT"YA SE EL NUMERO.
32 INPUT"CUAL ES MI NUMERO"; GU

35 CHSCNe1

40 IFGUONMTHENPRINT"MI NUMERO ES MENOR": PRINT: GOTO@
50 IFEUCHHTHENPRINT"ME NUMERO ES MAYOR": PRINT:GOTOSO
68 TFGUSNYTHENPRINT*BRAVO! ESE ES MI NUMERO!
65 PRINT"EN SOLO ":CH; "INTENTOS. "PRINT

70 PRINT"GUIERE INTENTARLO DE NUEVO CS)":
ga GETANS: "THENSO

E]

108 IFANSO
110 END

Puede aspecifcar cómo sera dé largo el número al empezar el programa. En
tonces, ediwine qué número es

ENTRAR EL VALOR SUPERIOR PARA ADIVINAR? 25
YA SE EL NUMERO.

‘CUAL ES MM NUMEROZ? 15,
MI NUMERO ES MAYOR.

CUAL ES MI NUMERO? 2

Hi NUMERO ES MENOR.

CUAL ES MI NUMERO? 18
BRAVO ESTE ES MI NUNERO
EN SOLO 3 INTENTOS,

QUIERE INTENTARLO DE NUEVO (SIN?

Las sentencias IF/THEN comparen su número con el numero generado. De
endienco ce su número, o programa le vice sl su númaro at más alto. bajo
‘que al número aleatorio generado.

Para quo la fórmula acquiera un determinado fango de número aleatorio,
vea si puedo añadir unes news del programa que perito al usuario también
‘eepecificar al range velo delos números generados.

‘Cava vez que hace una jugada, CN se incrementa en 1 para guardar al nú
mero de jugadas, Usando el programa, ea si puede usar un buen razonamien
10 para hallar un número on ol menor número ve jugadas.

respuesta corocta, el programa imprime al mensaje
E ES MI NUMERO”, con el numero de intentos que ha neche.
Puede antonces empezar cl proceso de nuevo, Recuerda, el programa genera
un nuevo número aleatoro cda vez.

NOTAS DE PROGRAMACION _

Finas Hans 40 y 0 is dos puntos on un pan parer sentencias miles
nara sacas Eo ode sp name gor Cana

"amada aot ons sentencias IF THEN en as mismas dos os, stos
bi srderado que PRINT alo, notament despues de fear par lin cto
Done de programs

Eure paro utzon el solos mero de ins on incsmentza de
10: Después 36 que el rograma nase, mes hair Ia parts somiaciin No
(den sas noes inet en la del propo, mar pora cas nta las
eas exstenas progam ca ciao modisto,

JUEGO DE DADOS

E siguiente programa simula atraca do dos dados. Pues datrutaro co:
MO muestra, o usarlo como parte de un juego largo.

5 PRINTIQUIERE PROBAR SU SUERTE?"
19 PRINTTDEROS ROJOS = "5 INTCGPNRE 1201

20 PRINTIDRDOS BLANCOS = "J INTCGWRUNCL) De

‘be PRINT*PULSE LA BARRA ESPACIADORE PARA LA PROXINA TIRADA (PRINT
48 SETAE IFAS" "Thence

36 TFRESCHRECGO) THEN

¿Quiere probar su suerte?
Para lo que ha aprendido sobre números aleatorios y BASIC, vea s! puede
seguir esta,

GRAFICOS ALEATORIOS

Como una nota final en la explicación de los números aleatorios, y como

à PRINT
de cora

‘Como puedo haber supuesto, la linea 20 es lu clavo aqui. Ota función
CHRS (Cadena de Caracteres, toma un caractr, basado en un número stan.
dar de código dea 255 Todo caractor del cowuanone esc puede imprimirse 3
está codiicaco de esta manera (ves Apóndico

Para buscar rápidamanta el código de algun c

acter, escriba:

PRINTASC(X")

donde X es sl caracter que se prueba (sto puede ser algún caracter imprimi
blo, incluyendo gráficos). La respuesta us o! código del caracter que ha eser
Lo. Como probablemente sa figura, ASC es otra función, que da sl código stan
dard ASCH del caractor que ha escrito.

Puede ahora imprimir este caracter oscrbiendo;

PRINT CHRS(X)
‘i prueba escribiendo:

PRINT CHAS26S; CHRE(2H6)

ver los dos caractoresgrálicos del lado derocho de las tecias My N Hay los
dos caracteres an este programa usándose para al laberinto

‘Usando a fórmula 2055 + AND(!) el ordenador osconará un número aleato
tio entre 2055 y 2065. Hay un uzar al 80% del número que es mayor o menor
‘que 208. CHR ignora algún valor fraccionado, así la mitad dl tiempo el cu.
ractor con código 205 ee impreso y el esto del tiempo el código 2068s mostra
de,

Sr culero experimentar con esto programa, pruebe cambiando 205.5 pora!
jones o sustracciones emparojándolo con décimas.

COLOR Y GRAFICOS

Hasta ahora hemos explorado algunas da las sofisticadas posiblidados
dé! coumoodn me, paro una delas más fascinantes es su descollante habil
dad para producir Color y gráficos.

Ha visto un rápido ojemplo de gráficos on la “polola rebotante” y progra:
mas de “laberinto”. Pero este sólo toca por encima la potencia del comando,
Un número do nuevos conceptos se introducirán en asta sección para aplicar
la programación gráfica y de color y se mostrará cómo Ve. puede crear sus.
propios juegos y animación avarzede.

Porque se ha concentrado en las capacidades de cálculo de a máquina, to
das tas presentaciones han estado generadas hasta ahora en un solo color
(texto azul caro an un fondo azul oscuro, con un borde azul claro),

En este capítulo vord cómo co añado colar a log programas y ei control de
todos osos extraños simbolos gráficos del teclado.

IMPRIMIENDO COLORES

(Como ha descubleio sl ha probado a tas! de aleación da color eno!
Cap 1, puede cambiar os colores ds texto simplemente pulsando a cha
IDB ia olas ocios de coor. Esto trabaja bienen modo mediate pc
10 ¿qué pasaré a quiere Incorporar cambios de color an sus programas?
Tone un completo rango de 16 olores de texto para travejr Usando late
cta BIS y una teta numerica, os siguientes colores están daponiles:

1 2. 3 4 5 oe 7 8
Magro Blanco’ Mojo Ciän Pirpura Verde Aza) Amarllo

Si pulsa la tac [E con as tetas numdeicas apropiadas, estos colores
adicionales puedon usarse:

1 2 3 4 8 8 7 a
Naranja Maron Rose Gis1 Ga? Verde Ai Gris
a a

ESCRIBA NEW, y experiment conto siguiente: Arion la tela EM y
al mismo tiempo pulse la tecla J a continuación pulse la letra © sin pulsar

1a tecia IEEE. Ahora, mientras presiona otra vez la tecla ERIE at mismo

tempo peta eta EJ Sue co WEE y paso la tcia ovenso
a arts delo números allemand on ls leas, y encrirdo lo peana
COLORES come se

BRAND 0420 RES"
08800800

AUN
COLORES

oval que los controles de cursor muestran únos caracteres gris ente
las coma de as sontencas de mpiesin, os contes de olor están tam
vien representados por caracteres gréico,

Enelojemplo previo, cuando pulsa (E y escribo un signe de ra se
canne. MENE sreserter una "=". Cada convoi de colo presentará un
“nico ceagogrllco cuando 2 usa de ía manera Est ab must as re
prezentaciones gráicas para cada color imorimibie,

TECLADO COLOR PRESENTACION COLOR PRESENTACION

necro) amara D
eco Ik won BE
mo a won 8
on à ont
run | eur |
ven B CET |
saut 5 amo a
aman IB criss =

Igual que In sentencia PRINT puede vares un poco extraña en a pantalla,
cuanto ejecute el programa, solo el texto será presentado, Y automáticamen.
8 cambiarán los colores de acuerdo con los controles da color que stuoen la
sentencia de Impresión,

Prusba unos pocos ejemplos por sl mismo, mezclando algun número ce eo:
lores dentro de una sentencia PRINT. Recuerdo, además, que puede usar el
segundo juego de colores de texto usando la tecla Commodore y las teclas

foo READY iets orl

ds ts decal uno on cbc core care i

CODIGOS CHRS DE COLOR

Fono una mirada al Apéndico F, ontonces vuelva a esta sección

Puede haber advertido en una mirada sobre la ista de códigos CHAS en el
Apéndice F que cada color (como muchos conteles de teclado tal oomo los
imotinientos de cursor tienen un cócigo único. Estos códigos pueden im
‘mise dcectamente obteniendo los mismos resultacos que escribiendo KA
y la tacla aproplaca dentro de una sentencia PRINT,

Por ajempl, prunba esto:

10 PRINT CHAS): REN
20 PRINT CHRS(30)"CHRSIGG) ME
RUN

CHAO) ME CAMBIA?

El texto sera ahora verde. En muchos casos, usar a función CHAS será
más fácil, especialmente si e quier exporimontar con el cambio de colores.
En la página siguiente se da una manara detente do hacer o! juego do colo
ros. Puesto que hay un número de líneas que son sim lare (40-110) us Inst
las de asición para evita entrar todas lao líneas otra voz. Vea 18 notas des:
pués del listado nararafrascar su memoria en los procedimientos desición

nen

1 REN ARRAS DE COLOR
PRINTCHREC 187) :REN CHR 1A7)=CLR/HOME
NTOHRSCHEI" 7) REN BARRA INVERTIDA
COSIMTESAPHCL DHL
BICLGOTO4g,50.68.78,00,90, 109,110
FRINTRRECH). :OOTOLO:
RINTEHRE (28): GOTO:
PRINTENPS (909; 01
PRINTCHRS 31>; “SOTO
PRINTORECIAI);<GOTOLO
are
6070
‘sorta

Escriba as lineas 5 a 40 normalmento. El aspect sera sim

3 PRINTS 1

NOTAS DE EDICION

Use la tecla CASR ARRIBA para posiciona al cursor ena linea 0. Eaton
ces escriba 5sobre de 40. A continuación uso la tecla CRSR-DERECHA pa
ra moversobre el 5 ene! paréntesis de CHAS, Pulso ENEE HERZEN pare abri
un espacio y asia "26". ahora puise MEE con el cursor en cualquier
parto e la Inez,

‘Ahora la pantalla sería similar a sta:

No ss preocupe. La linea 40 asta todavia ah. LISTE el programa y ven
Usando el mismo procedimiento, continue para modificar la última tinea con
un nuevo nümero de tinea y código CHAS. Como pruoba final, liste o progra
‘ma entero para asegurarse de que todas las líneas se han entrado debidamen.
Le artes de nacer RUN.

‘Agul hay una cora axplicación de io que pasa.

Probablemente ha entendido la mayor parte del programa delas barras de
color excepto pora extraña nueva sentencia de I tinea 30, Pero rápidamente

E

veremos que haco el programa entero realmente, La linea 5 es el código de
CLRMOME,

La linea 10 pone en tipo inverso Imprime 5 espacios, que es una bara, Lor
da est invertida, La primera vez través del programa a barra será arul claro,
el color normal da texto.

La línea 20 uea su función principal, la Función aleatoria que selecciona un
color al azar entre 1 y 8.

alinea 20 contiene una variante dela santancia F..THEN que as llamada
ON..GOTO. ON.,GOTO permite que ei programa escola una ista de números
do linea adonde Sila variable (en esto caco CL)tiene unvalor de 1,01 primer
número de nan es el que se escogo aqui 40) Sto! valores 2, a segundo nú
mero de la sta os usaco, el

Las líneas 40-110 conviarten la clave de los colores aleatorios al código.
apropiado CHRS para esta color y etoma el programa aa lina 10 para hacer
un PRINT de una sección dela barra an aste color, Entonces el proceso entero
‘empieza de nue.

Vas si puedo figuarse cómo procucir 16 colores aleatorios, expandir
'ON..GOTO para gobemarios, y añadiendo los cósigos CHAS que quedan para.
presentar os 8 colores que cuedan.

PEEKS Y POKES

No, no hablaremos sobre cómo hurgar en el ordenador, perd será posible
“echar una mirada” dentro da la máquina y “sacar” cosas de ahí

‘Como las variables pueden ser representadas por "casillas" en la máquina.
donde sit la información, puede también pensar en algunas “casilas” espe
les en el ordenador quo representan a postclonas de memoria especiicas.

EI couwoopne ete mira en esas posiciones de memoria para ver que colores
ds fondo y borda de la puntalla coger, qué caractoras se presentarán en la
pantalla —y dondo— y una multitud do otras tareas.

Situado, mediante POKE un valor diferente on Ta posición de memoria
adoouada, podemos cambiar colores, define y mover objetos, o igualmente.
crear música,

Bess posiciones de memoria pueden representarse de una manera similar
este:

Pao] swt FE ES
h 1%
coLon cotos
Bone Fono

ro

En la página 60 mostramos cuatro posiciones, dos que controlan los colores
de pantalla y fondo, Pruebe escripienco esto:

POKE 5328117 EXIIE

El color de fondo da la pantalla cambiará a mario porque ha situado el
valor7"—para amarillo— en la posición que controinl color de fondo de la
pantalla

Prube haciendo POKES con diferentes valoras enla posición del color de
fondo, y vea que resultados obtiene, Puede hacer POKE con cualquier valor
entro 0 y 255, poro sólo co 0 a 15 trabajará

Los valores de POKE para caca color son:

o NEGRO 8 NARANJA

1. BLANCO 9 MARRON

2 oo m ROJOGLARO
3 ca mo casi

4 PURPURA 2 Gais2

5 YERDE 13 VERE CLARO
6 au 4 AZULCLARO
7 AMARILLO. 15 GAIsa

Puede pensar una manera de presentar varias combinaciones de borges y
tordos? Lo siguiente puede ayudarle algo

Dos simples bucles ponen para POKE varios valores para cambie los col
es de fondo y borda, El bucle de RETARDO en la linaa 50 lo elrasa un poco.

Por curiosidad pruobe:

2 PEER (53280) AND 15

Obtendrá. valore 15 Estaes ultimo valor BORDE que sa dió y aspor!o.
que los colores de fondo y borde son GRIS (valor 15) después de que el progr:
ma se ha ejecutado,

Entrando AND 15 elimina todo otro valor excepto 116, por a manera en
que los códigos de color estan almacenados en el ordenador, Normalmente
encontrará los mismos valores que fueron POKE on la posición.

En general, PEEK nos oxamina una posición ce memoria especifica y ve
‘que valor está presente al. Puedo pensar en añadir una linea al programa pa:
ra quo presente al valor de borde y de fonda cuando el programa empleca, At
go así:

25 PRINT CMAS(IAN) “BORDE =
PEEKISG281) AND 15

PEEK(63230) AND 15, "FONDO = ";

GRAFICOS DE PANTALLA

En toda la impresión de información que ha visto hasta ahora, ol ordenador
imprime toda información en una forma secuencial: un caracter ws impreso
cospués del siguiente, empezando desde la poslción actual del cursor (excep-
19 cuando pregunta por ura nueva linea, o usa las *" en el formato PRINT)

Para hacer un PRINT de datos on un punto particular debe empezar vor co
nocerla stuactén actual dela pantallay hacer el PRINT con ol númoro ce con
Loles de cursor necesarios para formatear a presentación. Pero esto toma.
pasos de programa y es tiempo consumido.

Pero como hay ciertos puntos an la memoria del commosoat sac para al
‘contro! de color, hay también pasioiones que puecten usarse para controlar di
rectamente cada posición dela pantalla.

MAPA DE MEMORIA DE PANTALLA

Puesto que a pantalla del ordenador as capaz de contener 1900 caracteres
(40 columnas por 25 líncas) hay 1000 posiclones de memoria sucesivas para
‘manejar fo que se sitda enla panlalla. La disposición dela pantalla puede ser
ome una para, con cada cuadrado raprasantando una posición de memo-
na.

Puesto que cada posición en memoria puede contener un número da 0 a
255, hay 256 posibles valoras para cada posición en memoria. Esos valores re
prosentan los diferentes caracteres que cl COMMOQORE sac puede presentar
(ver Apéndice E) Realizando POKE con el valor de un caracter un a posición

da memeria adecuada, esto caructer será presentado an esta posición.

de

La memoria de pantala an el coumoooke we normelmente empieza en a
posición de memoria 1024, natiza en L posición 2023, La posición 1024

“esquina superior Izquierda de la pantalla. La gcsción 1025 esla posición
dal proximo caractordela dereora do éste, y asi hactaabalo dal Ma, Lapoci
ción 1088 6 a posición més ale derecha dela primera a. la próxima post
ción dol úlimo caracter en una a e el primar caracter de I fa do abajo.

‘Ahora, vamos acontola una peotarenotando enla pantalla, La pelota es
Là en medio dela pantalla, columna 2, ila 12 La fórmula para oslcul la po
scion de memoria an la pantalla os:

Ti cos
PUNTO = 1924 4 À + AV

donde X es la columna o Y esla file,
Por esto, a posición de memoria de la palota as:

a — comuna
1924 + 20 + 498 © 1524 aus

an

Lump a panal con Ny van

POKE 182481 ~ coouope caracrex

200100 or couoR

MAPA DE MEMORIA DE COLOR

Ahora una pelota aparece en modi de la pantalla, Va, ha puesto un carac-
er dtrectamente en la memoria de pantalla in utilizar la Instrucción PRINT.
La pelota que ha aperscido ada color blanc. No obstante existo una manera
ce cambiar el color de un objeto on a pantalia alterando el contenido notre
espacio de memoria, twciee

POKE 587902 + — coron
L posi oe MEMORIA

El color de la pelota cambia al ojo. Paru cada posición de caracter en la
pantalla del COMMODORE 61€ existan asociadas cos posiciones de memoria.
tuna pars el cósigo de! caracter y otra para a color con ol que este caracter se
extibirá en a pantalla. La memoña para al color ampleza en la posición 55206
(esquina superior izquierda), y continua durante 1000 posiciones, Los mismos

códigos de color, de D a 19, que so uiizan para cambiar color del borda ye)
fondo de la pantalla sirven para detini el color de los caracteres

La fórmula que utiizabamos para cálcular as posiciones de os caracteres
en la pantalla puede mocilicarse para obtener los POKES donce cambiar los
colores. La fórmula es:

POSICION DE COLOR = 55296 + X + 40°Y

MAS PELOTAS REBOTANDO

Agultlene una versión mejorada del programa que saca las Higuas directa
mente en pantalla mediante POKE on vez do utilizar ob PRINT. Como ve
‘euanco ejecute el programa es mucho mas flexible que la versión anterior y
permite una animación mucho más sofisticada,

nen

18 PRINT" REM" ES SHIFT ELR/HONE
20 POKESI280, 7 FOREST, 13
wire

40 wait

Sa FOKELODdexea@a¥. 31

ES FORT=ITO1G-NEXT

79 POKELEDA+NeseNY 22

Er

RE ET

ea ave

11 IFFARORYeZETHENV=
120 corse

La lines 10 impia la pantalla, la 20 hace que ol color del fondo sea el verde
clare y dl color del borde el amarlo

‘Las variables Xe Y enla inea 30 mantienen la posición actual dela pelo
DXy OY enia linea ¿0tienen elvalor delas direcciones horizontal verlical
movimiento dla petota, Cuando se suma al valor dela variable X, a peiote
‘se mueve ala Geracha; cuenco se le esta 1 (se le suma —1) 50 muave a la iz
‘quierda, Los mismos valores en ia variable Y hacen que la pelota suba o aja
una la,

La linea 60 pone a pelota an la pantalla en a posición señalada por ol cur
sor. La linea 60 es el bucle de retardo que permile mantener la pelota on la
pantalla para veía.

La linea 70 borra la pelota skuando un espacio [código 32) en ia posición
que ocupa la pelota.

La nca 80 suma el actora X La tinea 90 veria la polataha tocado at
una delas parados laterales invirtiendo la iocción si ha habido un rebote.
Las líneas 100 y 110 nacen lo mismo para las paredos superior Inferior

La nea 120 onva ol programa a realizar el dibujo y ofectuar oi movimionto
de num.

Cambiaido l código enla linea 50 de 81 a tro eualaulora. se puede cam.
bar la pelota a otro caracter. Sicambia DXo DY a Ua pelota se moverá en pe:
pendieula en vez de en diagonal.

Podemos también añadir ciertas mejoras. De momen
se verlica son los valores Xe Y por ise salen dela panlal

la única cosa que
Alda les ¡ness

siguientes:
21 Fort=trone CODIGO
25 POKELoz¢+THTcRNDCLD#100) 108 + POKE
2 NETL,

135 IFRERK 1024416980 1 0ZTMEDO=-DX:COTOS8

Laelíneas21 227 situan 10bloquas an Ia pantalla en posiciones aleatorias
Lalinea 116 veflc, medianto un PEEK sla palota va rebotar contra un blo-
ue, y cambia la dirección si es ás

INTRODUCCION A LOS SPRITE

En os capítulos anteriores tratamos con gráficos, y limos que estos aim.
bolos gráficos pueden usarse an sentencias PRINT para crear animación y
con unas apariciones similares en su pantal

Una manera es mostrando los códigos do caracter POKE en postcionas da
memoria de pantalla aspecili

La ercación de animación on ambos cesos requiere un lote de trabajo por-
que los objetos deben crearse a partir delos simbolos gráficos existentes. El
movimiento del objatoraquiera un número de instrucciones de programa para
seguirla pista al objeto y moverlo a un nuevo punto. Y, por la limitación del
uso de los simbolos gráficos la forma y resolución del objeto no puede sor lo
Buena que se require.

Usando Sprite en laa secuencias animadas se eliminan tados los proble
mas. Un Sprite es un objetivo programable en alta resolución y puede ser
construido dentro, de alguna forma, por comandos BASIC, El objeto puedo.
moverse Tácimente alrededor dela pantalla dlelando de alguna manera al or.
danador la posición a la que tondria de moverse el Sprite El ordenador hace el
resto.

Y fos Sprite tienen mucha más potencia que eso. Su color puede cambiar

ode decir si uno de los objetos colision con oir; puede hacer ie por de-
lante y por detrás; y se puede aumentar de tamaño téciImente, sólo para em.
parar.

La dificultad de todo esto es minima. De cualquier modo, el uso de Sprite
requiere conocer ciertos delallas más acerca de como opera el compone cc
y como son tratados dentro dol ordenador. Noes tan difícil come el sonido,
pa estos ejemplos y estará construyendo sus proplos Sprite haciendo cosas
asombrosas en poco tlempo.

|

SPRITE GRAFICOS:

Los Sprite co control gracias à un edhor de Imagen separado, an el
cownovor e. Eladio d imagen se oncrga dela panaiy Ces para
eo Sn ocupa de todas ls tres de crar y amactnar gráficos ay crate:
Bee

cute de visuizacon ne 4 posiciones ieentes po “ON/OFF”
ue rabaan como ls etuaclone da memoria nera, Cada una de étas ue
gare Gone ande de Sos Y coda pis a ova are po
Seien von" o "of. Ya entraremos en más tas un poco más Ir, a:
eno un POKE, on un eto valor decima, an caia d mamon pt
placa puede ano: main y movimiento do sus racines de Sale.

Adams de tetera varas gite de memoria co ao e image
tearomos lamen tonos etn ce I memoria general del comnovone-
tacparealmacenarinformaénque de
clones de menor, Inmedatamante comecutvas aia memoria de par
Se ullzardn para Indicar xactamento al odenador de que sector
Kin ada Spe soca sus cto

Armed que seamos 18 ejemplos el proceso será más sencillo y nos on
contraramos más a gun.

Por lo tant. adelante y a crear gún Spite. Un Sprites inseribe en una
trata do 2421 Punto, Mis de ocho Spe pueden contre a mismo
tempo Estos o pretntan en un mode espect) ndepecint de 20 200
puntos de dren Liege ce pueden ular an a Baa rauen, ext, et.

Pongamos que quero crest un balón, y qe quiro vero solar por os cls
Ein puede dsoraes en uno parla do 21 x 2400 p 70

El prónmo, peo ser, conver lleno ro en tos esmas por
etorcenacor Ci un bis o una hoj eue db un pri de 21
líneas x 24 columnas. En la pare superior horizontal marque los números
VBA AB RAS voce como Sammer, para cata una delas 24 ci
Vo. Mami venlcment las casas ce 121

serial palabra DATA a tinal d caca Ina. Añora roll a pari con
<ualuier sano con sto balón. Es más fácil esboza los conlmoe y
luego refor ls cis.

‘vor semplze porn uno ede les casitas ue están re era (oenesta
oo para quo están vacas (taco “of ponga un (dee en lu
=

Empezanda para primer nen, et conver ls punto on ies unizacos
de datos que sean compronsbles a oreonade, Cada sore de ocho caslases
Iguala una nidad de datos lama bye, Trabajando desde fa Bees, la
ano peas casitas estantes, oon portant valo para cata cee
on

seas sas sans
1.1.8) 02
wea ine a 2204
CARO

it
:H
:
H
at
i
a
E t
fy :
Ñ t -
nt t 1
ï
a t t
¿HH H n
1 ° 10 15 2 a
cama
Las sees del malo nan ost aspecto (ueno at aden un punto ya
un espcioy
Me 64 sé à 4 2 0
Doll]
E LT 7
Débit ler Bd 24m 127

series del tercaf grupo de la primera lines también contienen 3610 0,
or lo tant al valor do la ser os 0. Asi pués el dato para a primera linea es:

DATA 1279

La serie de la linea siguiente so calculan así:

soe: CO TS 8 To To To To
sere [I
1

T
tt. t 1
128 + 64 + 32 + 16 +8

see: [AT
rt
129 + 64 m
Por la 2 tne ol DATA sors:
DATA 1,286, 192

De La misma manera, as lines restantes, so convierten on su valor decimal
correspondiente, Tomo al tiempo de convertir las eas siguientes del ejem
pl.

‘Ahora que tana los datos de au objet, como utlizarios: Mecanogra
siguiente programa y voa lo que ocurre:

1 RE BAIA, BAUR Y PLEJATE
ER a

ie Ves2248:REN PUESTA EN MARCHA TEL CHIP DE PANTALLA

13 POFEV#21,4°REM PERNITE SPRITE 2

12 POKEZ042,19:REM DATOS DEL PUNTO NO. 19 SPRITE 2

28 FoR=eTO62 READ: POKEASONN, NEXT

30 FORMETOZEO © Ne La NOIA DE LOS DAT
3 POKEVe4, XC REN DRTO SOBRE COORTENRDA X

30 POKEV+5,X REM DATO SOBRE COORDENADA y

60 NETH

F8 COT09a_— MFORUA peo, MEDIATE O

200 DATAGTIE?, 0,1, 295, 192,3,285,224.3, 291,224

240 DATA? 217.240, 7,203, 268.7,217, 240, 2,231,224

220 DATA, 265,224, 2, 285,228, 2, 255. 160, 1,127.64

230 DATAL62, 64,2, 196, 128,0, 196,128, 8,73,8,0, 72,0

249 YHTA9/62,0,0,62,0.0,2.0,2, 28.0

‘areas DETALLES POBRE AS HETRUCCIONES EAD Y DATA VEA EL CAPTULOS.

SI mocanogratria todo comectämente, su balón tiene que estar votando.
suavamante por lo cies,

a entenderlo Que ocurte, debe saber entes que registros del editor co
imagon controlan las funciones que nacesita. Estos regisros pueden repre
sentarse como:

ogists Descripción
a CCoordenaca X 0 abacisa del Sprite 0

1 Yo ordenada del Sprite 0

218 Emparejedos como U y 1 para los Sprite dela 7

16 it de mayor significado — Coordenada X

2 Aporción del Spite 1 = aparecido; 0 desaparecido

2 Expansión del Sprite en irección "X"
2 mnie del Sor E
4 Color delos Spr

0a7

Además de osta información iene que sabor de cua de las 4 secciones do
Bytes (1 Sprite entero) conste ceda serie de Bregistros de memoria (1 lnea de.
Sprite haciendo DATA) dará cada Sprite su DATA (1 serle no so ut).

Estos datos los levan los ocho registros siguientes a la memoria de panta
la

0 13 121% als | 107
ror D ET fF + +

Soma 0 1 2 3 $ 7

‘Ahora vamos a perilar el procedimiento exacto para mover y escribir un

programa,
Sólo hay realmente u

1. Haga aparecer el Sprite enla pantalla por POKES an el egistro 21 a 1 para
quo ei it del Sprite se ponga en “on”.

2, Ponga el puntero de Sprite (Registro 2040-7) donde vayan a ser leídos por
ordenador.

POKE los datos actuales en memoria.

Actualice las coordenadas (Ke Y) va un bucle, para mover el Sprite

5. Atilulo facultativo puede ampliar el objeto, cambiar colores, ofectuar fun
Clones especiales, Utilice el registro 29 para ampliar su Sprite enla
ción "X" y al registro 23 para la dirección “Y

pocas Loges que saber para cr

Lo mover un ob:

S6lo hay algunas pocas cosillas an al programa que no sa han visto hasta

En la lino 10;

y 502
ajuste Y al priniplo delas situacionos de memoria del hip de video. De esta
manera se puede incrementar V, de un número de memoria para obtener el
Emplazamiento de memoria actual. Los números de memoria on los que da el
mapa de registros.

En la tra 11;

POKE V 4218
hace que el Spite 2 aparezca, con un 4 an lo que so llama el registro de dispo:
fibiidad (21) para anzar el Sprite 2 Concebido de esta manera:

a

AS

Cada nivol del Spite sa reprasanta en a sección 2 de la memoria de Sprite
y al results ser el nivol ge Spite 2.51 ulizase el nivel 3 pondrá un Ten el
Sprt 3 y tenará un valor de 8. Y si do hecho utiliza ambos el 2 y el 3) pondría
un 1 en 4 8. Luego eumarla os números, dela misma manera quelo hizo con
los DATA de sus propios Sprite

Por Io tanto poniendo en marcha jos Sprite 2 y Sla cosa sería representada
asl V+ 21,12

En anes 12;
POKE 2642.18

Esta instucción inaica al ordenador, do sacar datos sobre el Sprite 2 (me:
moria 2042, del ave registro de memorial, Sabe, por haber croado su propio.
Sprite, que ocupa 63 secciones de memoria lo mejor no se ha dado cuenta
‘gue lee números que se ponen arriba de a primara linea de su parie, no son.
‘lia cosa que 3 bytes de memoria, Dicho de otra forma, cada colección do 10
números siguientes 12854,2,18.84%.! equivale a un byte de memoria, Por
10 Son las 21 lineas de su pam, arazónce bytes portínca, cada Sprite ne
esta más do 63 bytas de memoria

means,

28 FOR N = 9 to 62: READ Ge POKE 892+N,Q: NEXT

Esta es la linea clave que se ocupa realmente de! Sprite creado. Los 53 by.
es de datos que reprosontan a Sprite que creo, son leidos (READ) por el bucle
y POKE puestos en el 13avo bloque de memoria, y esto empieza en la situ
ción 832.

38 FORKSOTO200
48 POKEY+d,;
59 POKEY+S;K

Sirecuerta un poco a escuela, se acordará que a coordenada Xo abscia,
se presenta en posición horizontal, yla coordensde Y a siluación vertica del
Sprite en a pantalla, Por eso como los valoras da X camblan en a linea 20 de 0
8200 (un número a In vez) ol Spite se mueve através de la pantalla ABAJO y a
la DERECHA, en espacio por numero. Los números son leidos por el ordena:
or, suficientemente rápido para que a

tos en el apóndico,

Cuando llegue a mover varios objetos en la pantalla, sr
sóla sección de memoria el actualizar las situaciones de los 8 objetos. Por
50, cada Sprite tiene su propia serle de ?socciones de memoria para hacerlo
mover sobre Ja pantalla.

La línea 70 ompioza l ciclo de nuevo, cesputs de una pasada po
la do quo recuerda al programa el balón son los DATA). Verdad qu
ferente on Ig pantalla!

‘Ahora prucbe añadiendo la tinea siguente

25 POKE V+23,4: POKE V +294 : REM: EXPANSION / AMPLIACION

y lance de nuevo el programa. El balón se ha ampliado de dos veces su tama:
6 original. Lo que hicimos es sencllb. POKE (poniendo) 4 para indicar, de

nuevo, el Sprite 2) en elregistro23y 29,01 Sprite2 8 amplió an as drecclones
xo Y.

importante odservar que el origen de un Sprite esta en el esquina lz-
Qulorda superior del objeto. Cuando ame un objato en (as dos dimensiones,
el origan no cambia. Para más diversión, añaca esto:

11 POKEV#21,12

12 POKE2842, 13:POKE2843,13

38 FORX=170190

45 POKEV+6, x

55 POKEV47, 190-X

Un segundo Sprite (el n° 3) se ha dispuosto POKEando 12 en la situación

¿e memoria que hace aparecer un Spite (V +21) El "12" transforma an bite e
2y 3 (00001100 = 12.

Las líneas 45 y 6, que hemos añadido, desplazan al Sprite 3 haciando un
POKE en las situaciones de memoria de as coordenadas Xe Y del Spite 3(V
46yV +7.

Quiore más acción.

11 POKEV+21,28 —

12 POKE2042, 13:POKE2049, 13:POKE2044, 13

25 POKEV+23, 12:POKEV+29,12 «

48 POKEV+E,X

58 POKEV+9, 180

En la línea 11, esta vez, tro Spite, ol 4, aparece, Introduciendo por POKE
28, en la apropiada situación “on” de la sección de memoria de Sprite. Ahora
Joe sprites 2-4 están en "on" (00011100 = 28)

La línca 12 indica que el Sprite 4 sacará los datos de la misma área de me.
moria (18 ava úroa de 63 secciones) como los otros Sprite con POKE 204415.

‘Ena linaa 25, los Spite 2y 3 88 amplia Inlrosueiondo por POKE, 121Sante
2y gen las situaciones de memoria, de expansión de dirección delas coorde-
hadas Ke Y (V +23 y V 429,

La ina 48 desplaza o Sprite
4,en la mitad (erica) de la pantall

Puesto que este valor no cambio, como arterlormente con X=0 a 200, ol
Sprite 4 sólo se mueve horizontalmente.

(Emtoncen lineas siguientes.

largo del je LA línea 58 situa el Sorte

NOTAS ADICIONALES SOBRE LOS SPRITE

Ahora que ya canoce los Sprite y ha oxperimentado con ells, uns timos.
palabras son adecuadas. Primera se puede cambiar el color de un Spite a
‘Sualquiera delos 16 colores estandards, que utlizamos para cambiarlos colo-
Fes de los caracterss. Puec encontrar información sobra ll en el capitulo 5
yan el apéndles G.

Por olampio, para cambiar el Sorte +a verde claro, escriba POKE V + 40,13
(asegurese de haber establecido V = 58248).
bra notado, uitzando el ejemplo de programa de Spite, que este nunca
se desplaza hasta el borde derecho de la pantalla. Esto os devido a que a oan
{alla es de 320 puntos de largo y a agir de dirección Xadlo punde levar un
valor de hasta 255, Entonces ¿cómo hacer desplazar un objeto o largo de to-
da 1a pantalla?

Hay una situación en al mapa de memoria dla cuál no hemos habiado
‘aun. La situación 16 del mapa controla algo llamado ol bit más significativo
BAS. 045.2. an Inglés) del registre de sirección dal Sprite En electo, ¿sto le
permite mover el Sprite horizortalmente de la posición 255 a 320.

EL... del egisto X rabuja asi: una vor quee! Sprite está on la posición
255, pone un valor en la situación de memoria 16 ropresentando asl el Spite
ue Ud. quiere mover. Por ejemplo, si quere que ln. 2 se desplaca alas posi
clones horizontales 256-320, haga un POKE para el Sprite n° 2, es deci el va:
lor, en al registro 6.

POKEV+184

Ahora, amplaza desde da nuevo en a dirección de registro usual del Sari-
to 2 cuando ostá en a posición 4 del mapa) Cómo sólo está moviendo otros 84
espacios, el registro X 2610 va de oa 63.

Todo esta concepto se lustra mucho mejor con una nueva versión del pro-
‘grama original del Sprio +

19 vaB3240:POKEv#2 4 POKEZ042.19
22 FORN=O7OS2:RERIDA: POKEEOZH, D: EXT
23 FOKEV+5, 100

30 FORK=@70255

49 POKEVEd, x.

53 NEXT

80 POXEV16,4

78 FOR=OTDSS

ER

52 NENT

120 POKEVsIE,@

na GoTOsa

La lirea 89 ajusta 018.443. pura ol Sprite .* 2. La linea 9 empieza a mover
el registro de dirección X, desplarando asi el Sprite .°2 hasta ol bordo de a
parta.

La linea 199 68 Importante puesto que pone a cero el BM.S. de manera que
el Sprite pueda movorse de nuevo a part del borde Izquierdo do la pantalla.
Para delinr Sprite múltiples, necesitará bloques adicionales para los dalos da
los Sprite Pusce usar la RAM de BASIC moviendo el BASIC. Antes escriba y
cargue este programa.

POKE 44,16: POKE 18258,0 NEW

Ahora, puedo usar los bloques 82. 41 (posiciones 2088 a 40%) para ama-
cenar los datos de los Sprite

LA ARITMETICA BINARIA

Está fuera de los objetivos de este manual ol mostrara todos los detallod
sobre como el orcenador manipula los números. Sin embargo, le olrecemos
todo fo necesario para que tenga buenas bases y pueda comprender al proce-
50 8 iniciarse ala animación sofisticada,

Pero antez do entraron los detalles, vamos a definir

¡unos terminos;

“BIT: as la menor cantidad de infomación que puede almacenar al ordena.
«or. Piense an un bit como un Interruptor que puede estar en a posición
‘ancanido (ON) 0 apagado (OFF) Cuando está en a posición "ON
8 ol valor 1, 6 ost on posición “OFF” el valor 0,

Después del BIT el nel siguiente es el BYTE,

“BYTE: Se deline como una serie de bits. Visto que un byte se compone de 8
bie se punden oblener así hasta 256 combinaciones cilerentes de
bits. En otras palabras su BYTE puede tener todos los BITS en post

ción “OFF” y tendrá este aspecto:
is a o . d
Cope 790 7% 10 CI |

AAA AAA ATA

lo que ca 1204644524 1648424 12206
Dospuss viene al REGISTRO.

GISTRO: Delinido como un bloque de BYTES:
80 cada registro as de 1 sólo byte. Una sere de registros forman un MA-
PA de REGISTROS. Los MAPAS de registros están estructuracos como,
los vid cuando creamos ol balón Cada registro controla una función de
Trento, como por ejemplo el registro do puesta en marcha de un Sorte
Cuando se umpila un Sprite, ne utlizan los REGISTROS DE EXPAN-
SION Xe Y. Acuércase sencillamente de que un REGISTRO es un byte
‘que elecida una tarea especica

Anora veamos otros aspectos de Ia ARITMETICA BINARIA.

CONVERSION DE NUMEROS BINARIOS A DECIMALES:

el-lelelelolalole
olo|-lololele ols

Utilizando combinaciones de acho bits, puade obtener cualquier valor dec.
ma! de 0 a 256. Empleza a vor por qué cuando hacemos POKE para generar un
carácter 0 color los valoras que ponemos on las situaciones de memoria, es.
tan comprendidos ente O y 255. Cada situación da memoria puede contener
un byte de información.

Cualgular combinación posible de “ceros” o "unos" se ha convertido en
Un único color decimal comprendido entre 0 y 255 SI todos los bite contienen
un 1 ol valor del byte será 256, si sólo lleno 0, entonces el valor sera nulo.
"00000011" equivale a, y asi. Esto será la base para crear datos que rep
senten Sprite y manipuiarios, Como ejemplo, sl sta byte fuese parte de un
Sprite para un espacio y 1 para una área ocupada)"

pon». 2
IL Eur oe Te Tee er

Entonces haríamos un POKE, de valor 285 on la situación da memoria apro
placa que represonta osta parte dol objeto,

AS:

meme pe a a Grau tree nn Eu

5 REN CONVERSOR PINARIO A TECIMAL.
18 INFUT"ENTRE UN NUMERO BINARIO DE 8 BITS "iA

12 IFLENCAE)OBTHENPRINT"S BITS POR FAVOR...":607018
18 13:09

20 FORKESTOLSTER-1:C=L#1

38 TLSTLeVRLCHIBAKAS, CDI ZO)

40 ETH

50 PRINTASI" BiNeRTO =;
se soro1e

= Mie DECIMAL”

ins sa a MO ns cb ed a.

‘ata vena ia at gt ao cul on ams nb con

Sates ela elas ca er ara pour

ca 2 Como pam 7 92 9 92 et a FL aut alo Y tl
‘rater ln el cnt ais 0

Eso portier ts me Yuma tir cola e nó

USO DEL SONIDO SI NO ES UD. UN
PROGRAMADOR

La mayor parte de fos programadores utlizan al sonido para dos propós!
tos: la creación musical y los efectos especiales. Pero antes de entrar en el in
trncado mundo de la programación de los sonidos, echemos un vistazo rá.
do ala forma en que seta estructurado un programa musical, Además le a
mos a dar un pequeño programa con ol que pueda experiment.

ESTRUCTURA DE UN PROGRAMA DE SONIDO

Para ompozar hay cinco ajustes que deberá conocer para generar sonidos
con su COMMODORE SIC : EL VOLUMEN, ATAQUEIDECAIMIENTO,
SOSTENIMIENTORELAJACION (ADSR), CONTROL DE ENVOLVENTE, y
ALTAIBAJA FRECUENCIA. Las cuatro primeres funcionos es usual ponerlas
UNA VEZ on principio del programa, El juste dei allay baja Irecuancia sa
hace pura cada nota que se toca, Este es un ejemplo de cómo está ESTRUC
TURADO un programa musical

EJEMPLO DE PROGRAMA MUSICAL

Antas de empazar debe escoger una VOZ Hay tres voces, Caca voz requis
ro un ajucte de sonido diferente para la envolvente, e... Puede Lover una, dos
tros simultáneamente, pero nuestro ejemplo solo uli la voz número 1. Fs
riba este programa ila por Insa. No lie pulsar RETURN inl

Vines:

1. Primero imple el chip de sonido § FORL = 54272 TO
54205:POKELSNEXT

2. Ajuste el volumen sl maximo 1 POKE 420615

3. Aluste de os niveles de ATAQUE — 28 POKE 54277,198

DECAIMIENTO para defini à que ve

Iocicad una nota subo y cae casdo.

su not de volumen pico (à 265)

4. Ajusto del vol SOSTENIMIENTO 99 POKE 54278248

RELAJACION para prolongar la nota

a uncierto volumen y soltara propor

cionaiment.

4. Busque la nota y ono que quiera. 39 POKE 54279,17.POKE 54272.37

tocar en la TABLA DE NOTAS MUSI

CALES del Apéndice My entre los v

lores de Alta y Bala frecuencia para

esa nota (Cana nota require dos PO.

KES),

5. Ponga la ENVOLVENTE con uno — SA POKE $4276.17
de los cunt ajustes estandar: (17,

39,050 1291.

6. Entre un bucle de TIEMPO para la 68 FORT = 1TO2SONEXT
uración dela nota (un cuarto de no

la es aoroximadamente "250", pero

puede varus con lalongitua del pro

grama puesto que eo afecta ai

po de ejecución

7. APAGA la nota. 78 POKE 54276,

Para of nota que acaba de crear, criba NUN y pulse METE . Para vor
rectitcar el programe escriba LIST y pulse EEE

MUSICA CON EL COMMODORE-64 C

tno necesita sr músico para tocaralgo con sy COMMODORE 64€ Lo único
que necesita sabar son unos pocos números que incican al ordenador a qué
five! poner el volumen, qué notas tocar, cuanto tiempo tocas, ete. Pero am
tes. hay un programa que le muestra rápidamente las incrooles posiblidad
musicales desu COMMODORE €4C, ulilizardo una sola voz delas tres os:
tes,

sorbo lo palabra NE y pulse aria EMM para orar cuauier in
tormacién anterior, luego onto este programa, escriba FUN y puise EM

3 REM ESCALA MUSICAL,

78 IF Be=1THENPOKES4273, 0: POKES4272, °END Causa,
88 POKES4273,A POKESSZ72..B

85 present?
18 FORT 110250: NEXT 'POKES4276, 16

Tee govace

118 DATA, 97. 19.63,21, 194,22. 27

ge PNR MTS

Para cambiar a sonido a un clavicordio, cambie Ia ¡nea 20 por
POKE 54278, y la línea 90 por: FORT = 1TO25D:NEXT-POKES42TE,32

Y ejecute el programa de nuevo. ara cambiara nea, puso la cta GED
Para para o programa osr.ba la palabra LIST y puise MEET Luego,
‘iba de nuevo a lines de programa que quiere cambiar, la nueva reemplaza
aulométicamante à la antigua) Lo que hacemos aquies cambiar la envolvente
Aanguiar aa evolvento de diante de sra. Cambiando a nvolvnte, puedo
cambiar drsticamente el sonido producido por el COMMODORE ac. pero
¡la envolvente s 3610 uno de los múltiples controlas que puede ajustar para
(rentes notas musicales y electos especiales! También puede cam
biar la relación ATAQUEJDECAMIENTO para cada nota... por ejemplo, para
cambiar un sonido estilo clavicoro estilo banjo, mocilique a Ines 2 come
sigue:
29 POKE S4277,3POKE 54278

Come habrá vist, puede hacer de su COMMODORE 64, el Instrumento mu
sical que més desee. Pero veamos con més detalle como tunciona cada con-

tro! musical.

LOS AJUSTES DE SONIDO BASICOS

4.EL VOLUMEN: Para poner en marcha el volumen y ajustaro ai máximo
nivel, escriba: POKE 64296,15, Los valores dei nivel de volumen van de 0 15,
pero ol que más utilizará ce elnivel 15. Asi pués escriba para poner el volumen:

POE 54298.16.

‘Solo tiene quo ajustar UNA SOLA VEZe! volumen al principle del programa,
puesto que este activa las 2 VOCES do su comnooonc ac. (Cambiar el volu-
men durante la ejecución de una nota musical puede ser muy interesante, ps:
10 sobrepaca los objetivos de esta Introducción)

2 ELADSRy LOS CONTROLES DE FORMA DE ONDA: Ya ha visto como.
modificarla ENVOLVENTE puedo cambiarla sonoridad delxiición a elavicor.
0. Cada voz tlene sus propios controles de FORMA DE ONDA, que ie parmi.
tan dafiir 4 igos ilerantes de formes de onda; Triangular Diente oe sieve
Cuadrada y ruido. El CONTROL también activa al ADSR onl COMMODORE 64 0,
paro volveremos a ello dentro de un momento. Un ejemplo de puesta en mar
tha ajustando la ENVOLVENTE, se presenta as

POKE 54276,17

¿onde el primer númoro (54276) representa el ajuste del contro para ia VOZ 1 y
Gh gegundo (17) representa a la ENVOLVENTE triangular. Las combinaciones
Sn ajustes para cada VOZ y ENVOLVENTE se muestran en la tabla siguiente:

AJUSTE DE CONTROL DE ENVOLVENTE Y ADSR

uste plena
DECONTROL TRIANGULO SIERRA — CUADRADA RUDO
A E = me
Ever [ss El ES Te
[overs se E) 2 9)

‘Aunque los controles sean ciforontos para cada voz, el código de aluste de
envolvonto es el mismo para todas ellas. Para ver como funciona esto, rite
las ineas 30 y 90 en el programa de la escala musical, En eto programa ajus
tamos el CONTROL de ta VOZ 1 en ta línea 30 escribiendo POKE 54278,17, Sa
one en marcha el CONTROL dela VOZ 1y ajustala envoWverte triangular (17)
En la linea 70 escribimos POKE 54276.0, parando la nota. Más adelanto, cam
blamos el principio de anvolvente cambiando de 17 a 33 creando la ONDA en
DIENTE DE SIERRA y sta da ain escala a facto de clavicordio, Veamos ah
a qué interacción hay ontro el CONTROL y el AJUSTE DE ENVOLVENTE,
‘Ajusta la envolvente es similar a ajustar el VOLUMEN, excepto que cada voz
tiene un propio ajuste y que an vez da hacer un POE de un código do nivel de
volumen 06. un cósigo de envolvente. Pronto veroiros otro aspecto del
sonido... ol ADSR.

3.EL AJUSTE DEL ATAQUEIDECAIMIENTO. Como mencionamos anterior
mente, al ajusta del CONTROL ADSR no sólo define la envolvente sino que,
además activa el ADSR o ATAQUEIDECAIMIENTOISOSTENIMIENTOIRELAJA
‘ION, otra fanlstica caractorstica dl COMMODORE 545, Empozsremos por
vor ol ajuste de ATAQUEIDECAIMIENTO, La tabla que sigue le mostrara los al
versos neelos de ATAQUEJDECAIMIENTO para cara var Siro 0814 familar
Zaco con los conceptos musicales de ATAQUE y DEGAIMIENTO, sólo tiens
ue pensar en el ATAQUE como una relación que haca que una nota/sonido
suba a su máximo nivel El DECAIMIENTO as la relación con que una note so
ido cae desde su nivel máximo de volumen apoyándose en el nivel SOSTEN:
MIENTO. La tabla siguiente muestra los ajustes do ATAQUEIDECAIMIENTO
para cada voz y sus códigos. Observs que DEBE COMBINAR EL ATAQUE Y EL
DECAIMIENTO. SUMANDO LOS CODIGOS Y ENTRANDO EL TOTAL. Por ejem:
lo, puede ajustar un ATAQUE FUERTE y un DECAIMIENTO SUAVE añadiondo.
+ cósigo de Ataque fuerte (64) al decalmiento suave (1, El ota! CS) incicará al
‘ordenador que ataquo fuerte y quo haga une caida suave. También pus in
crementar las relaciones de alaque sumándolas (128 + 64 + 92 + 16 = 240
max, velocidad de ataque)

AJUSTE DE LA RELACION ATAQUEJDECAIMIENTO

arnaque DECAIMIENTO
ne FUERTE MEDIO DAJO SUAVE FUERTE MEDIO BAJO SUAVE
vor |sez77 ¡128 ORDER D PCI IL |
voz 2 [seu | 128 D NC CIA E |
voza lso] 1 ss PCI 11T? |

Stajusta una relación de ataque sin decelmiento, el decalmento sord auto-
máticamonto coro y viceversa. Por ejemplo et hace un POKE 542774 está us:
ted ajustando un ataque medio con una rolación de decaimiento nata, para la
VOZ 1. Sihace ol FOKE 54277.66, está ajustando un ataque medio, y una caida
bala puesto quo 86 = 66 + 2, y esto activa ambos ajustas) También puedo eu
mar varios valores de ataque o de decsimiento, Por ejemplo, puede tomar un

ataque bajo (32) y un ataque medio (64) para obtener un tal de 96 y combinar.
Jo otto decaimiento de 4, o qua I da... POKE $4277, 100.

En estos momentos loque vet mejor estos afectos cs un programa, Es-
rta NEW, puise ME entre y ejecuto ol siguiente programa:

5 FORL#54272TOS4296:POKEL.2:NEKT— inp usages ateo
18 PRINT*PULSE UNA TECLA: na puta

20 POKES4296, 15:

59 PoKES4277,.64———_____—~»
40 POKES4273, 17: POKES4272, 37 —— PONE wna mts 0021
62 GETKE: IFKS=""THENGO — ts vto

70 POKES4278, 17°FORT=170200: NEXT — te meine rare)
50 POKES4276, 16:FORT=1 7050 NEXT — Dan cern tmp
39 COTOER. — ap nue

cul estamos utiliza la VOZ 1 para rear una Sola nat ala ved. con
una lación de atuque medio, y una decaimiento cero. La línea clava an al
es 30 Haciendo un POKE de ajuste de ATAQUEIDECAIMIENTO con ol código
Es activará una rlación de alacue modo, El sonido resulant se parace al
Flo que hariamos golpeando una lata e eceitovaci, Ahora para var par
acierta del asunto, pulse I tacın (IREM pora parar la ejecución del
programa, luego escrita la palabra LIST y pulse EME. Arora escriba la
¡ire aiguentey puso MIT (est reemplazará automáticamente a ant
‘0 tinca 30.

30 POKE 54277, 106

cba la palabra RUN y pulsa (EME . para vor cómo suena. Lo que
hemos hecho aquí, os combina varies rlaciones de AlaquelDecalmiento Los
alustes son los siguientes: ATAQUE FUERTE (128) + ATAQUE BAJO (22) +
ATAQUE SUAVE (16) + CAIDA FUERTE (9) + DECAIMIENTO MEDIA (4) + DE:
CAIMIENTO BAJO (2) = 190. Esto suena u oboe. Slo gusta experimentar,
prueba el cambiar los valoree de la orvowente y las relaciones de
AtaquelDocalmianto en ei ejemplo de escala musical pars ver como suena un
Oboe. Asi. veremos que al cambiar 1 relacionos ataqueldacalmiento se pro
cen diferentes tipos do efectos espaciales,

4. SOSTENIMIENTOIRELAJACION. Do la misma manera que el
alaqueldecaimiento, el ajuste de SOSTENIMIENTO/RELAJACION se activa
por sl central ADSRIENVOLVENTE, El SOSTENIMIENTOIRELAJACION le e
Ft extender una parte de un sonido particular, como el pedal de SOSTEN!
MIENTO de un piano u órgano que la permite prolongar una nota. Cualquier
nota o sonido so pude SOSTENER en cualquiera de los 16 mvels de vol
me. incluso 6 puede sostaner al sonido on su vol máximo (240) sin ela:
ción. pare que suene una nota “ingelinicamente”. El ajusta de
SOSTENIMIFNTO/RELAJACION debo ser utllzado con un bucle FOR... NEXT,

para determinar cuanto tiempo una nota so sostendrá on su nivel de volumen.
máximo antes de relajarse. La tabla sigulonte muestra los códigos numéricos.
quo cebe ontrar con POKE pare tener acceso à diversas duraciones de
SOSTENIMIENTOIRELAJACION.

AJUSTE DE LA RELACION DE SOSTENIMIENTO/RELAJACION

conraoL: SOSTENIMIENTO. RELAJACION
SR ALTO "MEDIO BAJO SUAVE ALTA MEDIA BAJA SUAVE
E m [ar Ti

vecs [ses Due fau | te fe

A titulo de ejemplo, si ulliza la VOZ 1, puede ajustar un nivel de SOSTENI
MIENTO FUERTE con un POKE 54278,128 puedo combinar un nivel de SOS-
TENIMIENTO FUERTE con una RELAJACION BAJA sumando 128 + 2(128 +
2 = 130) con el POKE 54278,130. Estos el mismo ejemplo que utilizamos pa:
ta la relación Ataquo/Decaimiento, con la posibilidad de
SostenimientoiRelajacien. Note la diferencia an los sonidos:

55 FORL=342727054296:POKEL, 8: HEXT — vote egos reno
10 POKES4296, 15 ————.

29 POKES4277,64 De

39 POKES4278, 128. ns Sm

48 POKES4273, 17 : POKES4272,.37-—roneana neta an vor.
52 PRINT"PULSE UNA TECLAY-— wesuewsunaia
60 GETKS: IFKS=""THENGO ———— sora
78 POKES4276,17:FORT=1 70208 "NEXT sust emanee nu
80 POKES4276, 16: FORT=1T05@: NEXT. Pura. co encia
38 GOTOEO: trae ever

En la linea 30 decimos al ordenador que SOSTENGA la nota an un nivel de
SOSTENIMIENTO FUERTE (128 de la tala artoror).. después de esto fa nota
se relaja en a línea 80. Puede variar la duración dela nota cambiando el con:
{dor em a tinea 70. Para ver ei afacto del uso de la función Relajación cambio
(nea 20 por POKE 5427829 (SOSTENIMIENTO = 80, RELAJACION = 9)
5. SELECCION DE VOCES Y AJUSTE DE ALTA Y BAJA FRECUENCIA: Ca-
‘da nota del commooone o necesita 2 POKES dilerentes.uno para BAJA FRE.
CUENCIA y otro para ALTA FRECUENCIA. La abia delos valores delas notas.
musicalos del Apéndico M le muestra 108 POKES que dabe hacer par
ota que quiera dentro de la gama ce 8 octavas que tien
Los POKES de Alta y Baja frecuoncia son diferentes para cada vor —esto lo

permite piogramar las 3 voces independiontemente para crear música con 3
Voces 0 electos sonoros exótico,

Los POKES de Ala y Baja frecuencia, para cada voz se muestran en tabla
que siguo, que contiene también los valores para la octava media (a quinta
oca.

von Nee NOTAS MUSICALES DE LA QUINTA OCTAVA,
Frecuenca PORE Color] a fer |m| nfulalml alu] a | (zr)
Foz watra | 507 [aa [| ae | «of a] 45148051 a7
Ozamaya | 50727505 [12620 | 52a | 7 ls hon
Vorsaca | 520 fafast ae) 40 fa as] us [51] se 37 am)
ou sean | sers | 5 | 6s|126 a0 | sahaalı2 [fui 172 20/1009 po)
A E |)
oz amas | seme | 7 05|126 200 |salısaiaz | 97) hralaslien las io]

Como puede var hay dos ajustes para cada vor, uno de ALTA FRECUENCIA.
y otro de BAJA FRECUENCIA. Para tocar una nota musical debe poner por PÖ-
KE un valor en el REGISTRO DE ALTA FRECUENCIA, y otro an al de BAIA
FRECUENCIA. Utlizando los apuntos de nuestra tabla de valores de
VOZIFRECUENCIAMNOTA, estos son los ajustes que tocan un DO de la quinta
octave (VOZ 1)

POKE 54278. 4:POKE S4272,75.
La misima nota en la VOZ 2 sere
POKE 54288.24:POKE 4279.75.

Utilizando en un programa, la cosa se presenta así:

5 FORL=S42721034295:POKEL,B:NEXT pie ani
10 Ve56296:4°34278:6-54277 9234278 HeS4279:L=54272

20 POKEV. 15 POXEA, 190:PKES 85 Voten ROSE
38 POKEK,34:POKEL,75 | De

46 POCE,39:FORT=1TOZO8 NEXT moran

30 POKEM 32 pa

TOQUE UNA CANCION CON EL COMMODORE 64C

El programa siguiente se puede ullizar para componer o tocar una canción
(utuizando la VOZ 1) Hay 2 lecciones Importantes en esto programa, Primero,
‘bsorve como hemos abreviado todos los largos ajustes de controls, escri.
biendo on la primera Imaa, variables para los números de los registras de me-
moria..as utlizamos M para Modulación on vez de 54276

La segundos enseñanza, concierne la manera de ulligr les DATA. Este
programa esta preparado para poderle entrar 3 valoras para cada nota. El va.
lor ce ALTA FRECUENCIA, ol de BAJA FRECUENCIA, y la DURACION de la
NOTA.

Para esta canción

izamos un contador de duración sl: 125 para un 48
denota; 250 para 14 de nota, 375 para 14 de nota punteado, 600 para Veneta
Y 1000 para una nota enter Estos valores (numéricos) pueden ser incremen-
tados o decramantados para darle un tlempo determinado, a su gusto,

75 como ajustes de Al (Gel ejemplo
previ) y luego el número 250 para un 114 de nota. Por lo tanto la primera nota
quese tocará es un DO de 114 do nota. La segunda nota tambión es una negra.
ero en M y ast hasta es línal de la canción. Puede entrar as, cas! cualquler
canción, añadienco tantos DATA como sea necesario, Puede continuar, po-
land valoree ce notas y duración de una linea a otr, paro esta deberá estar
‘encebezada por le palabra DATA. DATA. sería a lima ines del progra-
ma. Esta Ines da por lializada la canción.

Mecanografía la palabra NEW para borrar su programa anterior y entre el
programa siguiente, luego lancelo y escuchó la canción.

Titulo do I canción:
MICHELE ROW THE BOAT ASMORE=: COMPAS.

2 FORL=542727054296: POKEL. 0: NEXT

5 VaS4296 H=54276 | RaS4277 HF=54273'LF254272' 9954278:
PH=54275:PL=54274

19 POKEV, 15:POKEA,88:POKEPH, 15:POKEPL, 15: POKES, 39

48 RERDD
59 POKEHF,H:POKELF,L :POKEW, 65
80 FORT=1TOD:NEXT:POKEN, 64

85 FORT=1T050:NEXT

99 60101
18D DATA34,75,259,43,52,250,51,97,375,43,52,125,51,97
185 DATA2SB,57.172,250
12 DATAS1,97,560,0,2,125,43,52,250,51,97,250,57,172
113 DATA1990,51,97,500

CREANDO EFECTOS ESPECIALES

Contrariamente a la música, los efectos especiates tiene otros objets,
como por ejemplo a explosión de una nave espacial on un Juego de maria
os..o una sirena co alarma en un programa de gestion, cuando Ud. está a
anio de borrer accidentalmente un disc.

Tiene una ampla gama de posibilidados (ólsponibie) ai quiere crear diver
cos ofoctos sonoros especiales. Aqui hay 10 Ideas programables para que se
pueda familanzar con los efectos sonoros:

1. Cambie el volumen, cuando se toca una nota, por ejemplo para crear un
efecto se eco.

2. Varia antro dos notas rápidamente para crear un efecto de “trémolo”.

3. Ajuste la modulación en diversas voces.

4. ESAtaquelCatón..para alterar ia relación en sonido aube a su nivel pico y
were a caer

5. Sl SOSTENIMIENTOIRELAJAGION, para alargar o disminulr la duración
Je una nota, para cambiar diversos lipos de sonidos pruebe varios ajus:

6. Efectos de VOCES MULTIPLES...ocando más de una vor al mismo tiem
190. y controlada indepandantemente y focanda más o menos ul tempo.

(Que ota, o haciendo un eco ala primera; obtancrá efectos fantésticos.

‘Cambie notas de la oscala musical o de la octava ulilizando te tabla de

notas musicals,

3. Vilela modulación cuadrada o ajustes de pulso para diversos efectos.

3. Utica la modulación de ruido para crear un RUIDO blanco, para acentuar
ciertos sonidos, crear explosiones, tros de metralleta, pasos... Las mis:
mas notas musicales sien para crear diferentes tipos de Ruidos Blan

10, Combine diversas frecuencias Altas y Bajas en sucesión rápida, en dite.
rentes octavas,

11. EI Ft, pruebo este otro control con el ajuste de POKE, que vlan
Apéndice M.

EJEMPLOS DE EFECTOS SONOROS ESPECIALES
A PROBAR:

Estos programas que vamos a vor pusdon añadirse a todo programa BA
SIC. Selos.otrecamas para dario una doa de programar y mostraio/asposib-
Iidades del comuoooxe sec an materia de electos especiales,

Observe las abreviaciones que hemos hocho al rineipio del programa on la
tinea 10. En electo, se pueden abreviar los poco sn y prácticos nú
meros de control, entrándolos por madio da varlablas, con letras más signlt-
cetias, La inca 1 sólo sine para que a osas letras serclias de entender, que
son las variables, se es asigne los lergos números de código delos controle.
Aqui V as Volumen, W = Forma de ones, AC = Aleque/Deseimiento, H=Alta
Frecuencia (VOZ 1)y L=Bala Frecuencia (VOZ 1). Asi pués ullizaremos astas
letras en vez de ullzar los números eorrespondientes en nuestro programa,
haciéndolo asi mas corto, más manejable, más facil da entrar y cambiar, s se
deseara.

GRITO DE MUÑECAS:

19 254296 He54276:A=54277 :H=54273:LeS4272
28 POKEV, 15: POKEM, ES: POKER, 15

39 FORX=200TOSSTEP-2: POKEH, 48: POKEL , X:NEXT
49 FORN=1SOTOSSTEP-2:POKEH, 48: POKEL , X:NEXT
50 POKEN, 0

‘SONIDO DEESTALLIDO UTILIZANDO LA VOZ 1,LA MODULACIÓN DE RUIDO,
Y CAIDA DEL VOLUMEN.

18 V=54296:M=54276:A=54277:H=54273:L=54272

28 FORN=1STOOSTEP-1 : POKEV ,K:POKEM, 129: POKER, 15
POKEH, 49: POKEL ‚288: NEXT

38 POKEM,0: POKER, O

LAS INSTRUCCIONES READ Y DATA

Ya ha visto como asignar valores a les variables, directamente en un pro
¡grama A = 2, y como asignarle a una variable diversos valores durante la eje
ución del programas la instrucción INPUT.

Pero hay muchas ocasiones, demasiadas, on las que ningúno de estos pros
úcedimiantos son adecuados al trabajo que queremos realizar, especialmente
1 hay mucha información que marear.

Pruebe este programa coro:

19 READ X
28 PRINT “ES AHORA :"; X
39 GOTO 16

A0 DATA 1, 94, 185, 16, 29456

UN

XES AHORA: 1
XES AHORA : 34
X ES AHORA: 185
XES AHORA: 16
X ES AHORA : 23456

FOUT OF DATA ERROR IN 19
READY

En a lnea 10, ef ordenador les (READ) un valor de I instrucción DATA, y
signs este vaio a X. Cada vez que so pasa por al buclo el valor sigulante de!
“DATA” as leide y su valor asignado aX, y luego escrito (por PRINT). Un punto
10 en el miemo ordenador, leva la cuenta del valor que ha de ser Iido des.
puis.

AS DATA +, 4,1

16, 20458

Cuando se han utilizado todos los valores, el ordenador ejecuta al bucle
de nuevo, buscando olros datos, aparece el mensaje de error OUT OF DATA In-
sicando que no hay más valores que leer

Es importante seguir el formato de la instrucción DATA de manora precisa

49 DATA 1,34, 105, 16, 2458

1 t

La inottucción DATA puede contener, números entéros, reales (2356), 0
números expresados con a notación cientifica. Pero no puede leer otras varia:
bles, o operaciones arméticas en laslinaas de DATA. Lo siguiente sera inco-

AS DATA A, 2516, 298

Parolo qua si pueda haca es utilizar una variable alferumérioa en una ine
trucción READ y luego poner cadenas de texto o alfanuméricas en las Inoas
de DATA. Lo siguiente os pertectamente aceptable:

WORK = 1103
15 READ AS

26 PRINT "AS ES AHORA: AS
au NEXT

48 DATA ESTO, ES, DIVERTIDO

RUN

AS ES AHORA : ESTO
AS ES AHORA : ES
READY

Note que ahora la instrucción READ esta situada dentro de un BUCLE FOR
NEXT. Este buclo se ejecuta para indicar ol número ce valores quo tions ol
DATA"

En muchos 64008, cambiará el número de valores de la instrucción DATA,
tantas vecas como efacute el programs, Una manera do evitar ol tener que
conter el número de valoras delas líneas da DATA e incluso de que se presen.
e ol mensage de error OUT OF DATA ee, situar un FLAG o BANDERA coma il
timo valor de una Hnos de DATA, Este podi ser un valor que cl data nunca
¡qualaís, como por ejemplo un número nagativo o un número muy pequeño 0
grande. Cuanco este valor soa lois, a ojecución del programa será transfer
da aia paro siguienta,

Hay una manera de utiliza ls mismos DATA cra vez on al programa ut

llzando la introducción RESTORE quo "rostäura” (esta) ei puntero de DATA.
al principio dela sta de DATOS. Añeda latina 50 al programa antoror:

8 GOTO 10

Volverá a oblener un "OUT OF DATA ERROR”, puesto que como ol progra
‘ma go va ala linea 10 para RELEER LOS DATOS, a puntero Indicará que todos.
108 delos han sido ulizados, Ahora, añada:

46 RESTORE

y lance o programa de nuevo, El “puntero” de DATA ha sido RESTAURADO y
los DATOS puedan ser leidos continuamente,

LAS MEDIAS ARITMETICAS

El programa siguiente ustra una utilización práctica de los READ y DA
TAS, leyendo una serio de números y luego cálculan su media.

5T=8CT=9
Ww READX

ZUIFK= —ITMENSOREM PRUEBA PARA FIN
2 ct=cr44

ABT-T+XREM DATOS SOBRE TOTAL

49 corow

5B PRINT-SON "\CT-"VALORES LEIDOS”

SS PRINT:TOTAL = 97
79 PRINTMEDIA = "sTICT
29 DATA7S,80,82.95,87 99,7,

RUN
SON 7 VALORES LEIDOS
TOTAL = 500

IEDIA = 808571429

La linea $ pone 8 cero, el Contador CT y ol T, de Total. La linea 10 jee
(READY unvalory lo asigra ax. La linea 20 mires este valor 0 ol lag.
bandere, aqui). Sel valor lala forma parta da os valores válidos de a ins
trucción DATA, CT se incremente en 1 y 2e añac X al total.

Cuando a bandes es loka, el programa va al linea 20 que escribe en pan
tala al número de valores que han sido leidos.

La linea 60 escrito al tota, la linea 70 I divide por el número de valores
para obtener asi, I media artmétioa

Lthizando una bandera al final de una Inca de DATA puede Us. poner cual:
quior número de valores enla Instrucción de DATA, que puede superar varias
líneas —sin tenor que preocupareo del número de valores que se han entraco
dentro,

"Otra variante de la instrucción READ conclare el asignar informacion de
una misma Inen de DATA a diferentes verables. Esta información puede in
luso ser una mezcla da valoras numéricos y de cadenas de texto. Puedo ha.
‘er todo esto con el siguiente programa, que leerá un nombra, algunas pun-
fusciones —por ejemplo de bolos — y luego escribirá su nombre, puntuación y
media

new

19 READNSAB.C
24 PRINTNS:" TIENE UNA PUNTUACION OE: "ja; "8;
33 PRINTSY SU MEDIA ES: "344 8 + JS

48 PRINT-GOTONE

55 DATAMIGUEL 198,185,165 086.225.245.198

8 DATAJUAN, 155,185,208 PABLO, 166,178,187

RUN

MIGUEL TIENE UNA PUNTUACION DE: 194 105 165
Y SU MEDIA ES: 100

JOSE TIENE UNA PUNTUACION DE: 225 245 169
Y SU MEDIA ES: 225

Al etactuar el programs, las instrucciones DATA estaban dispuestas on el
mismo orden on que la instrucción READ esparába la nformación: un nombre
(una cadena, y los S valores En otras palabras la primera ver NB saca el dato
MIGUEL. READ A correspondiente a 190 enla instrucción DATA, Ba 180 y Ca
185, El proceso se capita an asta orden para la información restante. JOSE
au puntuación, JUAN y la suya, y PABLO con la suya)

LAS VARIABLES SUSCRITAS

En el pasado hemos utlizado sancllament las clásicas variables dl BA-
‘iG, come A, AS y NU para representar valores. Eelas eran sonclla letras so

‘guidas por otra letra o una sola cia. En muchos de los programas que escr
ra, es cas! Imposible que necasitomas más variables de las que so pueden
‘obtener con la combinación de dos números oletras posibles. Pero esta Ud.
imitado, on el senti en que sa utilizan las variables en un programa.

ASI pués, dejemos introducir el concepto de la variable suscrita;

EU
U swat

Esto 28 dra: A sub 1.Una varable subecrita consiste en una tra eequida
de un número encerrado entre paréntesis, Por favor dese cuenta de a diferen-
la que hay entre A, AT y A). Todas son variables Únicas, pero sólo A!) es
una variable subsorita,

Las variables subscritas, de la misma manera que las variables corrientes
bautizar una siluación de memoria del ordenador. Plense an una variable
subscrita como en casillas para guardar información, como con las variables
normales.

At)

An)
A)
A6)
Aa)

Si escribio:

AD) = 26: AQ) = 65: AMA) = 452
entonces la memoria tendrá osto aspecto.
ac [25
aa)
AQ)

a [3]
aa) [aes

Este grupo de variables subscritas también so puedo llamar una matríz. En
‘ste caso una matriz unidimensional. Mis tarde introduciremos matrices mul-
dimensionales,

Las variables subscrtas pueden ser complejas incluyendo otras variables
cálculos. Las variables siguientes son válido:

A) AK) A) Arte)

Las expresionos con paréntesis so calculan según las mismas reglas de
‘operaciones aritméticas que an al Capitulo 2.

Ahora que las reglas básicas estan asentadas, ¿como se pueden vtlizar
las variables eubecttas? Una manera 08 almacenat una lsta de números en-
ados con INPUT 0 READ.

Utlicamos las variables subscritas para calcular medias de otra forma,

5 PRINTCHRS(147)
19 INPUT" CUANTOS NUMEROS :*x

23 FORA = 110X.

39 PRINTENTRE VALOR # "AsINPUTB(A)
6 NEXT

EEN

63 FORA = 170x

79 SU=SU + BA

20 NEXT.

95 PRINT:PRINT“MEIDA = "SU

Run

CUANTOS NUMEROS 5
ENTRE VALOR # 1 2125
ENTRE VALOR + 2 7187
ENTRE VALOR + 3 2168
ENTRE VALOR à 4 7 187
ENTRE VALOR à 5 7458

AVERAGE = 1612

Puede que haya ura manera mas senclla de realizarlo quehicimos en este
‘programa, pero est lustra como trabajan las varabies subscrtas.La línea 10
ide "cuantos números” van a ser entrados. Esta varablo,X, actúa como con.
trolador del bucle, con os valores entrados y asignados ala variable subscrita,
B

Cada vez que se pasa porel bucle de INPUT, A so Incromanta de 1 y ast el
próximo valor que se entra srá asigraco al elemento siguiente dela matriz A,
Por ejemplo, primera vez que pasa por ol bucie À = 4, cl primer valores aig
nado a Bft) La vez siguionto A=2 y el valor siguiente se asigna a BI) y as!
hasta que todos los veloras hayan sido entrados,

Pero ahora viene una gran diferencia. Una vez que han ontrado todos os
valores, se almacenan en una malt, lista para trabajar de varlas maneras
Antes, llevada la cuenta del total, cada vez que se pasaba por el bucto de IN.

PUTO READ, pero nunca:
de nuevo la información.

‘Da as líneas 50 60 se encuentra, otro bue, diseñado para sumar los d-
versos elementos de la matriz y luego presentarla mecis. Esta parte separada
del programa muestra que todos los valores 5e almacenan y se puedo dispo»
ner de ellos cuando se neces

Para comprobar que todos los valores individuales están realmente alma-
‘senacos por separado on la matriz, mecanogralie lo siguiente inmodiatamen
te después do haber lanzado el programa anterlor.

podrá volver los dalos iniciales sin volver a leer

FORA = 1705: BA): NEXT
mom om oe

Lapantalia le presentará sus valores actuales de la manera en que el con:
Lenido do La mari ha sido ecto.

LAS DIMENSIONES

Si trata de entrar más de 10 números en el ejemplo anterior le saldrá un
ERROR de DIMENSION, Matrices de más de 11 alamentos (subacritos de O a
10) para una matriz unicimensional deben utilizarse, conde sea necesario, de
La misma manera en quo las variables nulas pueden utlizarse en cualquier lu
ar de un programa. Matrices do más de 11 elementos deben ser declaradas.
‘en una instrucción de dimensión.

Añada esta (nen al programa:

S DIM Brian.

Esto indica al ordenador que tendrá un máximo de 100 elementos en la ma
iz

La instrucción de dimensión puede ullizarse también con una variable, así
ta lines sigulento podra reemplazar I tinea 5 (nose olvide de eliminar a línea

a

15 Di 809

Esto dimansionara la matriz con el número oxacto de valores que so entra
un.

¡Tonga culsado! Una vor formateada, una matrz no puede ser racimanslo-
nada on oto lugar del programa. Pero puedo, sin embargo, tener varias mate
‘ces en el programa y dimenslonavlas todas an la misma linea, at

18 DIM C120), DI, ELA)

SIMULACION DEL LANZAMIENTO DE DADOS,
MATRICES

A medida que los programas ss vuelven más complejos, utizando las va.
riables subacritas abrevará el número de Instrucciones necesarias, y imp
fleara la escritura dol programa,

Un sencillo variable subscrita puedo sor ullizada, por ejemplo, para hevar
la cuenta dal número de vacas que sale una misma ca

1 REN SIMULACION DADO
18 INPUT"CUENTAS TIRADAS »
20 FÜRLeITOx

30 REINT(SHRADCL IAL

40 FLA

33 em

2 PRINT'CARA”, "MINERO DE TIRADAS"
72 FORC=LTOS PRINTC. FCC) NEXT

La matriz F se inliraré para lavar la cuenta del número de veces que sale
una misma CARA del dado. Por ejemplo cada vez que sale un 2 F(2) ea ince
menta en 1. Ullizando et mismo elemento de la matriz pera llvar el número
actual de la cara que na sada, hemos eliminado la necesidad de 5 variables
más (ara para cada cara) y numerosas instrucciones para ver y revisar que nó
mero se ha sacado.

La ¡inca 10 pido cuantas thadas quiero simular

La lnea 20 establece el bucle para crear ol nümero aleatorio di
cremanta el elemento apropiado de la matiz en 1 para cada tirada,

"Una vez que se hayan lanzado los dados el númaro da vacas requerido la.
nea 60 escribe los titulos y le línea 76 oscribo al nümero e veces que na salido
cada cara

Un ejemplo do ollo tenia este asponte:

CUANTAS TIRADAS: ? 1896
NUMERO DE TIRADAS.
18
178

m
186
169

¿Blen, pués fn y al cabo no estaba cargado!

A tuis de comparación lo siguiente ea otra manera de re-eeeribir sto pro
grama, pero Sin utlizar las variables subsertas. No se preccupe en entraro,
pero observe el numero de intrucciones adicionales que han cido necesarias

19 INPUT “CUANTAS TIRADAS "X.
2 FORL = 1T0X

26 R = INTIG4ANDO)+1

ASIF R= 1 THEN FI = F1 + 1: NEXT
AUIFR = 2 THEN F2 = F241: NEXT
AZIFR = THEN FS = F3 + 1: NEXT
ASIER = A THEN F4 = FA + 1: NEXT
ASIF A = STHENFS = FS + 1:NEXT
ASIF A = GTHEN FS = FO +1: NEXT
60 PRINT “CARA”, “NUMERO DE TIRADAS”
79 PRINT 1, F1

71 PRINT 2, F2

72 PRINT 3, F3

73 PRINT 4, Fa

74 PRINT 5, FS

75 PRINT 8, F8

El programe ae ha doblaco on volumen, de 8 a 16líncas, En programas lar
(008 el espacio ahorrado con las variables subseritas podría ser adn mayor.

MATRICES BI-DIMENSIONALES

Antes on coto mismo capítulo hermos experimentade con matrices de una
sola clmensión. Este tipo de matriz se representaba como un grupo de cas
llas consecutivas con memoria que contenían un olemanio dela matriz, ¿Co-
mo espera que se reprosente una matriz de dimensión 22.

Primero una matriz bidimensional se escribir as

8 1 2 3 a 5 6

T

La suscripción puedo representarse como una fla y columna an la tabla
donde se encuentra almacenado el elemento particular de Ia mati

AGA) = 255
Tt coun

255

Si asignamos el valor 2662 AQ) 5e puede concebir como que ha sico st
tuado en la 3 fla y 4 columna de la taba,

Las matrices bi dimensionales so comportan de acuerdo que las mismas.
raglas establecidas con las matrices uni dimersionates.

Dover ser dimengionadas DM ARO
Asignación de datos AN = 255
Asignar valores a otras variables AD = am
Escrito valores PRINT AG.

Si tus matices de 2 dimensiones trabajan como sus compañeras de una dl
mension, ¿que ventajas adicionales llene el crear matrices mul
dimensianalos?

Prueba asto: ¿Vo alguna manera de ulizar una mat bi imensional para
tabular los resultados de un cuestionario para su club en que intervengan 4
preguntas, y en que puede haber hasta 3 respuestas por cada una de ellas? El
Problema puede rapresantarso as:

CUESTIONARIO DEL CLUB:
PRI: ESTA UD, A FAVOR DE LA MOCION NO. 17
Mist M2NO LI SINDECISO.

ay esi

La tabla de la matriz de

te problema puede represtntere así:

RESPUESTAS
st no ¡nDECISOS.

PREGUNTA + re

PREGUNTA2

PREGUNTA 3

PREGUNTAS =

El programa para establecer a tabulación actual, para el cuestionario debe
tener la forma de lo que sc muestra en la página 109.

Esto programa contiene todas lus lécnicas do programación quo hemos
visto nasta aqui. nclueo el no tiene ninguna necesidad ce var programa ac
tual, en estos momentos, mire st puedo ver como funciona,

El corazón de asta programa es una maz bidimensional de 4x3 AU) El
‘numero total de respuestas para cada respuesta posible de cad pregunta es
tá contenida an al apropiado elemento dela matriz Para simplificar al asunto,
‘no uiizamos las primoras líneas y columnas (A D) à AE}. Recuerda que es
os slamentos siempre están presentes en cualquier malr que diseñe.

Enla práctica, s se responde si" als pregunta l,ntonces Al.) e nr
mentado de 1 —la ila 1 por a pregunta , y la columna 1 para la respuesta
“ai E resto delas praguntas y respuestas siguen ei mismo patrón. Una res:

a negativa (NO) pera la pregunta 3 añadir uno al elemento AR. y ash

28 PRINT-(LRMOMEN"

3ÓFORA = 1104

AG PRINT“PREGUNTA =<": R

Sd PRINT "1-51 2-NO 3—INDECISO"

68 PRINT “CUAL ES SU RESPUESTA :

61 GET C : FC -<4 of C >3 THEN 61

58 PRINT C: PRINT

TÁ AC) = AIRC) + 1: REM DATOS SOBRE EL ELEMENTO
88 NEXT A

85 PRINT

95 PRINT “QUIERE ENTRAR OTRO”: PRINT "RESPONDA (SINN:
199 GET AS IF AS = "" THEN 100,

TIDIF AS = °S" THEN 29

1291F AS <> "N" THEN 108

148 PRINT SPOIELRESPUESTA
181 PRINT "PREGUNTA”,"SI","NO" INDECISO"
FAR PRINT nn

159 FOR A = 1104

169 PRINT A, ARM. AZ),

178 NEXT R

RUN

PREGUNTA + :1
1=SI 2-NO S-INDECISOS
CUAL ES SU RESPUESTA

PREGUNTA u +
(CUAL ES SU RESPUESTA: 1

Y por tant.
TODAS LAS RESPUESTAS SON:

RESPUESTA.
PREGUNTA INDECISOS


5
5
4

128 PRINT “(CLA/HOME)"s"TODAS LAS RESPUESTAS SON:"PRINT

INTRODUCCION

Ahora que se ha familiarizado intimamente con su conwoooRe we, quete
mos que sepa que nusstra ayuda al llante no acaba aquí. Es probable que no
lo sepa, para Commodore esta on ol mercado desde hace más de 23 anos, En
los años 70 sacamos ol primar ordanador personal autónomo, al PET. Desde
‘entoncos nos homos vuelto la compañía do ordonadores n + en mucnos pal
sos del mundo (como en España). Nuestra capacida do disañar y tabvicar
ucetros propios “chine” del ordenador nos permite erindarle mejores y más
“avanzados ordenadores personales, a unos precios muy por debajo de lo que
oía esperar para equipos de este alt nivel técnico,

2 propone no solamente apoyarlo a Ud. ol usuario sino tam

¡que le compró este equipo, con revistas que publiquen ar
culos de divulgación técnica, ce aplicaciones. y lo más Importante, apoyara
la gente que desarrolle software os programas en cartucho, ace 9 cassette
paru utlizaios con au ordenador. Le aconsejamos que se porga an contacto
on algún club co usuarios de Commodore, donde posta aprender nuevas tec-

cas, intercambiar Idoas y hacer descubrimientos. Publicamos una reviste
que contiene consejos de programacion información score nuevos productos
seas para aplicaciones con su ordenador. (Vea el apéndice N)

Los apéndices siguientes contienen tables, Istas y otres informaciones.
uo la parmiltán programar el coumonone & de manera más eficiente y apt
da. También viene incluido información sobre la gran variedad de productos
Commodore en os que suede astarinferssai, y una bbllografía con más de
20.Ibros y revistas que le ayudarán a desarclar programas y le mantoncrän al
Corrente sobre las novedades an materia de ordenadores.

> APENDICE A:

ml Los ACCESORIOS del
E COMMODORE 64C y el SOFTWARE

= LOS ACCESORIOS

El couvonone ste puedo uilizar las unidades de almacenamiento y otros
accesorios del VIC-20 de Commodore —ia unidad de casselte: Oalassatte a
"nidad de dico, a improsora de manera que su sistema punde amplarse
según sur necosidades,

+ LAUNIDAD DE CASSETTE: Esta unidad de bujo costo, le pormite aims
> "ar en una cassette programas y datos para ullizaios posteriormente, Es
la unidad también puede servir para leer programas pre grabados
LA UNIDAD DE DISCOS: Esta urigad ce cisco Unico utlizadiscos o floppy
- diskottes slandars de 8 Y4 pulgadas, que se asomejan a un disco de 48
PM, para almacenar programas y datos. Los discos le permiten un acco:
3 So ai informacion mucho más rápido y pueden oras hasta 170.000 carac.
toros cada uno. Las unidades de disco son inteligentes es docir qus tienen
Du prosto micraprocasador y memoria. Los discos no necesitan ninguna
> mamoria de comuonont ee,
TRIMPRESORA: La Impresora VICI frece coplas de programas, datos y
ráticos. Esta impresora de matriz de puntos de $0 caracteres/segundo,
za papel comtente perlorado y otros suministros de bajo costa, La Im.
presora se conecta directamente al commoooresaS sin ningún interface
adicional
CARTUCHOS DE INTERFACE: Uncierto número de cartuchos especializa
(dos estarén disponibles para el couwooore ec para permite conectar
. on vatlas unidades estandard como Impresoras, controladoras, inslu-
mentación que Se puedan acoplar al sistema,
‘Con un cartyoho especial 1EEE-488, el conwoone 4s podrá utilizarlo
a la goma do pariféicos COM incluyendo unidades de clscos e moreso:
"además, un cartucho 28016 permitirá uizar programas on CPM" an el
7 cowwovone occ, abriéndole las puertas la mayor base de aplicaciones po:

EL SOFTWARE

Le ofrecemos varias categories de sollware para su comonone sec, una
profesional, otra de juegos, y otra dlsáotica

AYUDAS PROFESIONALES:

+ El paquete electrónico de "spreacshoot" o permitirá planear presupues-
tos y practicar el análisis el tipo "Que pasaría si”, Y con un programa gr
fico opcional, so podrän crear grálicas significativas a partir da los datos:
del “spreadsheet

+ La Planificación Financiera, como la amortización de préstamo, podrán.
Ser llevacas a cabo con el Paqueta "Planificación Financier

+ Un cierto nümaro de programas de sirección profesional de tiempos ayu-
dará aa dirección.

+ Los programas de BASE de DATOS, de manejo sencillo, le permitirán llevar
‘con mucha información Iácilmente listas de correos, lstinas teeténicos,

Inventarios ofy cualquier ipo de información organizada de manera prác

+ Los programas de “procesos de texto” convertirán su cowoconc we en
"un procasacor de texto con todas sus posibilidades, El redactar, corro
adapta memorias, caras, u otros textos no será más que un Juogo.

DIVERSION, ENTRETENIMIENTO Y JUEGOS

+ Los juegos de mejor calidad estarán disponibles en earluchos para el
comuonore sac, oecióndole horas y horas de diversión. Estos programas
liza la alta resolución gräfica, y todas las posibilidades co efectos so
ores del comvooost exe

DIDACTICOS / EDUCATIVOS

El comonnne ace es un tutor que no so cansa y que le olicco siempre sus
atenciones personales. Además de la gran variedad de programas educativos
para el PET, estarán sleporinles adomós, ots longuales educativos para el
‘comwoooae ee como el “PILOT” y al "LOGO" y otros paquetes avanzados cla-

APENDICE

MANEJO AVANZADO de la
UNIDAD del CASSETTE

Ademäs de guarcar copies de sus programas en intas, el comovone 446
puede también almacenar los valores de variables y otro ipo de datos, en un
¡Grupo llamado FICHERO, Esto le pormite almacenar inciuso mucha más infor.
mación dela que cabo en ia memoria del ordenador al mismo tiempo.

Las instrucciones que so utlizan con los FICHEROS de DATOS son: OPEN,
CLOSE, PRINT? y GET. El sistema de varlabie ST (estaco} sieve para revisar
las marcas de la cinta,

Cuando se escribo sobre cinta se emplean los mismos conceptos que
cuando es cscribe on pantalla. Pero, en vez de ascribr la información en la
pantalla se graba on la cinta urlizando una variante dela instrucción PRINT.
el PRINTS

El proprama sigulonte llustea como funciona est:

18 PRINT FROGRANYA TE ESCRITURA EN CINTA"
20 OPENS, 1, "FICHERO DATOS"

30 PRINTÜESCRIER DATOS PARA ALMACENAR O ESCRIBA STOP"
38 PRINT

$0 INFUT*DATON AS

88 IPRC STOP TENSO
30 PRINT

102 FRINT"CERRANDO FICHEROS"
14e CLOSER

La primera cosa que debe hacer es ABRIR (OPEN) el fichero fon este
FICHERO DE DATOS), Do esio su ocupa la lines 19

El programa le pregunta por los datos que quiera grabar sobre cinta on a li
nea 6%. Lalinea 7Boscribo lo que mecanografía —dento de AS— en la casser
16. ol proceso continúa.

Si escribe STOP, la linea 119 CIERRA ol ficharo,

Para fer la información rebobine la cinta y pruebe esto:

10 PRINT"PROGRAMA LEER EN CINTA"
20 OPENI,1,0, "FICHERO DATOS"

30 PRINT"FICHERO ABIERTO”

40 PRINT

50 INPUTHL,AS

60 PRINTAS

7 IFR$="STOP"THENEND

aa GOTD4D

De muero el ficnero “FICHERO DE DATOS" debe ABRÍASE (OPEN). En al
ea SG el programa antra (INPUT) AS de la cuenta y lo Imprime (PRINT) en ia
pantalla. Luego el proceso se repite de nuevo hasta encontrar un “STOP” lo
quo para cl programa,

‘Una variante de GET, GET, tamblin puede ulizarse para eerlos datos de
la cinta, Remplace luz Inoas 69 a 3% por las siguientes:

50 GETALAS

68 1FR$=""THENEND
70 PRINTAS.ASCCAS)
80 00T0S8

APENDICE C:

BASIC del COMMODORE 64C

En la primera pute de este manual a ha dado una introducción al lenguaje
BASIC usado por el © 4 suliciente para que usted tenga una idea de los me.
¿los usados para la programación de ordenadores y naya sdquinco ya cierta
práctica cn su utlzación, En los apéndices Incluidos a continuación se am.
pila asta información, espocialmonte en cl presente Apéndice, en que se rela
Glonan las reglas (SINTAXIS) del lenguajo BASIC empleado en su ordenador O
4, con una breve coseripción de cada elemento del lenguaje, Usted debería
ensayar el uso de estos comandos a Instrucciones, ya que aun cuando se
au Vogue no puedo causar danos a su ordenador, yla mejor forma de apron
1 uso de un ordenador y eu programación os practicando ambos.
Esto Apéndice está iv ido an secclonas, para relacionar los diferentes 1
pos de operaciones BASIC:

1 Variables y operaciones: Esta sección describe os diferentes lipos de va:
siabies, nombres legales de variables y operadores aritmáticos y lógicos

2. Comandos: Esta gección describe los comandos utilizados an programas y
Su edición, almacenamiento y borrado.

3. Instrucciones: Esta sección describo las Instrucciones disponibles para
componer programas en BASIC. Las instrucciones e ilerencian delos co-
mandos en que se les antepone normalmente un número de líneas.

sta sección describe la funclones, divididas en tres catego:
tipo cadena y funcionos usadas con la Instrucción PAINT.

Los comandos estén relacionados en cada sacción por orden alfabético,
para facilitar su consulta Una exposición más detallada de estos lérminos 58
encuentre en a Gula de Retorene'a dal Programado, suministrada por el pro.
veedor del equipo comwovowe ste

1. VARIABLES Y OPERADORES

a. VARIABLES

El comoncne sec usa tros tipos de variables an BASIC: variables numén:
cas normales. numéricas de enteros y de tino cadens (allanumáricas)

Las variables numéricas y normales, e denominan tambon variables de
Coma decimal tirante y pueden tener cualquiar valor desc 10% + 10%, con
una precisión de nuevo dignos. Cuando un número sen mayor de nueva di
tos, como 1016 197 ol ordanadorlo visualizar en notación cienilic, con
el nümero normalizado a1 do y ocho decimales, seguidos de letra € lex
Ponenciación) y la potencia de diez por la que debe muluplicarso el número:
For ejemplo; el número 12345078001 Se répresenterd en la pantalla como
FaMSG7E + 11

"as vaıabies numéricas de anteros, se usan cuando ol numero cetésiem
pro comprendido entro + 32787 y 92788 y carezca de Iracciones, Las variables
¿e enteros requieran menos memoria que las variables do coma decimal Mo
ante y normalmente la diferencia es de poca consideración, a menos que ce
{tata de una gran cantidad, como en “tables” ease pag. 113 Las variables
de enteros son números tales como 3.96 “100.

Lus vaviables tipo cadena, son usadas para datos y pueden contener ndme:
ros, letras y otros caracteres posíbiss con el G64, Un ejemplo de variables Je
Cadena es “eowuocone ec

Los nombres de variables pueden esta integrados por una sola
letra seguida da un número o 408 atras.

Las variables de enteros so ospeciican usando el signo de porcentaje (%)
después del nombre de la variable. Las variables de cadena se distinguen con
el sul dólar (5).

EJEMPLOS: Nombros de valables numéricas: A, AS, BZ
Nombres de variabies de enteros: Ass, ABM, 82%
Nombres de variables de cadena: AS, ABS, B25

Las “tablas” son listas de variables con un mismo nombre, cada una segui:
a de un numero para eapeeilietla dentro del conjunto. Las tablas son dein!
¿as con la instrucción DIM y pueden contener variables de coma decimal ll
lante, ca enteros tipo cadona, El nombre de la variable ena tabla va seguida.
por paréntesis, en el que ve coloca el número de la variable on Ia lista.
EJEMPLOS: ALZAS,

Las tablas pueden tener más ce una dimensión. Una tabla bidimensional
puede consicerarse que tien fils y columnas; el primer número ento parón
{esis indica a la y el segundo la columna.

EJEMPLOS: ATZLBZ%2IM2502)

Hay tos nombres de variablas que son reservados para uso del C64 y no
pueden utilizarse an el rebaje normal son as variables ST, Ty TIS. STes una
Varibio indicadora del estado de operaciones de entrada y salia; ai valor de
ST cambia si hay aromallas en la carga de un programa o datos desde cinta
cassette o disco floppy. Las diversas formas do sta lunción se explican mas
Sctalladamento en el Manual de Raferencia de Programación,

Las variables reservadas TI y TIS so usan con el reo] de tempo reat incor
prado en el C 64. La primera es actualizada cada 160 de segundo Empleza,
en cero cuendo se conecta el © 54 y puede volverse a caro solo cambiando el
Valor de TIS. Esta úlima es una cacena que es actualizada constantemente
por sl sistema. Los doa primeros coracteres constituyen el número de horas
los caracteres lerceroy euarte el numero do minutos y los caracteres quinto y
sexto el número a segundos. A esta variable se le puede adjucicer cualquier
valor a condición de que todos los caracteres sean números) y se mantendrä
actualizada a partir de este punto,

EJEMPLONIS ="101830” ajustable el rio, a 10:15 y 30 se. (de la mañana)

Este elo] se bor ouando se degconceta el CS y vuelvo a empezar a cero
cuando se conecta.

b. OPERADORES.
Los oporadores artméticos incluyen los signos siguiente
resta

= mutipicacion

1división

Yalaración a potencia (esponenciación)

Cuando en una linos hay mas de un operader, todos ellos se ejecutan en et
lguiante orden de prioridad: primoro, exconenciacion; a continuacion, mull
plicac'6ny iviión, y. tmalmonte, suma y resta. Si usted qulere que La opera
clones se ejecuten en cto orden del preprogramado en la maquina, abe in
Cui antro pardntosis aquellas operaciones que deban renlizarse antes; sin
embargo, es precise que on tales formulas haya cl mismo número de parénte
Sie de apertura que de oler, de lo contrario en a pantalla aparacard un men-
‘sale de eror: SYNTAX ERROR.

Hay también operadores para Igualdad o desigualdad:

iguala
mener que
mayer que
menor que o Igual a
mayor que © iguala
noes igual a
Finalmente, hay res operaciones lógicas:
AND y
os
NOT no

Estos últimos so usan sobre todo para juntar fórmulas múltiples en nstruc-
ciones IF... THEN

EJEMPLOS:
IF A=8 AND C = D THEN 100 exige que tanto A= B como © =D sean ciertos.

IF A=B OR C=D THEN 100 exige que A=B 0 C=D sean ciertos,

2. COMANDOS

CONT (Continuar)

Esto comando se usa para reanudar la ejecución de un programa que haya
ido interrumpido pulsando latacia STOP 0 como consacuancia de una ins-
{rucelön STOP o END incorporada en el programa. El programa empezará su
ejecución en el punto exacto en el que fue interrumpido,

El comando CONT será invalidad el usted ha cambiado alguna linea del
programa © la ra añadido, o st tan sólo ha silva! cursor 017 linea co!
programa y pulsando RETURN aún cuando no haya combiaconada, Elcoman
o CONT tard también invaldado sl el paro del programa fue decido a un
or, o usted causó un error antes de escribir ol comando CONT. En tales ca:
208 en la pantalla aparecerá el mensaje: CAN'T CONTINUE ERROR (= No
Puedo Continuar. Error)

UST distan

El comando LIST permite hacer un listado de las tíneas del programa on
BASIC que na sido grabado en la memoria cel orcenachr, soa mediante el Le.
lado o dena una cinta cassette 0 cisco lopey. Si usted usa este comando
‘in indicar números de linea, star todo el programa en Ia pantlia ei etado

puede desacelerarss apretando la tecla CTRL o pararse pulsando ia tecla
RUNISTOP) SI a continuación da LIST usted macanogralla un número de ih
as, el C64 mostrará en pantalla sólo icna línea; si mecanografía dos nume
ros de linea separados por un guión, listará todas las líneas comprardidas en.
Ite dichos números; si escribo sólo un número de linea seguido de guión, se
mostrará todas ias lineas a partir da dicho número; finalmente, si escribe un
¡guión y un número de lies, usted oblendrá una lista do todas la [neos hasta
se número. Usando LIST en una otra de esas variantes, usted puede exam,
nat cualquier pare de un programa ovisualizar news para proceder a su mo.
ficación

EJEMPLOS:
ust progr
UST 10- ‘desde Ia linea. 19 hasta} fina!

LIST if. Listasólo la tinea 19

LIST —18 Lietalas lineas desde al principio hasta la n= 19
LIST 192 Lista dada la linea 10 ala 29

LOAD fabraviado L SHIFT 0}
Este comando se usa pare cergar on Ia memoria del C 64 un programa al
macenado en cinta cacsotte o en un diec floppy: usted escriba LOAD y pulsa
la testa RETURN y ol 064 buscará el primer programa en la cinta y lo transler:
rá Ia memoria, para su ejecución (eon RUN), listado (eon LIST) etc. Ustos
puede también Indicar un nombre de erograma después de LOAD; este nam
bro suelo antrecomillaso y puede I seguido de una coma (sespués de cerrar
1 comillas) y un nümero o variable numérica, que senale el dispositive paris
rico del que procede el programa. Sino se indica ningun nümero, el C 64 pr
Supone que se rata del ponléico n° 1, que es el magnelsfono cassette
El otro periférico usaco comunmente con el comando LOAD os la unidad
de ciscos, que tiene asignado ot n° 8.

EJEMPLOS:

LORD Carga en memoria el primer programa que encuentra enla
cine.

LOAD"HOLA” Busca on la cinta hasta encontrar el grogruma HOLA y lo
carga en memoria,

LORD AS Busca un programa cuyo nombro está en la variable AS.

LOAD'HOLA".3 Busca el programa HOLA en el diskette

LOAD" "8 _ Busca ol primer programa del diskette

Aemás, el comando LOAD puede incorporarse an un programa an BASIC
para buscar y ojecutar ol siguiente programa da una cinta

NEW

Este comando borra todo el programe existente an la memoria, asi como
las variables que puedan haberso usado. A menos que dicho programa se hi
ya almacenado previamente en una cinta o diskette, se pierdeivemisloleren:
ke. ano ser quo usted lo recuerde y pueda mecanografiarla de nuevo, Por con:
siguiente, debe usarse con precaución

El comando NEW pueda incorporarse también en un programa escrito en
BASIC: cuando el programs, en su ejecución, lega a este inea,se borra y todo
e para; es dll usted quiere que todo quede borrado a terminarla ejecución
del programa,

RUN

"Después de mecanografiar un programa en ei teclado cargarlo on el co
mando LOAD, so usa el comando RUN para ajscutaro. 5 aa aseriba sólo RUN,
la ojecución del programa empieza enla primera ines; e inca con un nú:
mao, sa nel la ejecución a parir de dicha linea

EJEMPLOS:

FUN Empieza aejecucién

rograma en ol numero de tinea més bajo.
RUN 180. Emploza el programa en la linea 182

RUN X En la pantalla aparece el monsaje "SYNTAX ERROR” (RUN debo
escribis solo 9 seguido de un número de Inea, no de una lett)

save

Este comanco se usa para almacenar el programa existente en ia memoria
on una cintao diskette Si usted escribe sólo SAVE y pulsa RETURN, la macul
a intentará almacenar el programa en ta cinta del caesetto, El coumosone sc
no puede comprobar s ya hay un programa almacenaco en dicho punto; par 0
‘que es necesario prestar cuidado con as cintas. Si osenbe SAVE soguide de
Ur nombra antrecomilado 0 una varlabie tipo cacona, el C 64 anjudirarädieno
nombre al programa, para lacas ou localización en el luturo. Desputs det
‘nombre puedo pulsareo una coma (después de cerar las comillas) y un nüme
10.0 variable numérica. Dicho nümaro indica al C 64 que dispos tivo perico.
ha de usar para almaconar ol programa: el n° 1 e el easset yo! n= Bla uni
au do discos. Puedo nclurse también una segunda coma y un número que.
sera 06 1; este 1" sirve para que se ponga una marca "END OF TAPE", que
Indica el fin de la cima. Cuando, luego, al querer cargas un programa con
LOAD, el C64 encuentra una de ¿sas marcas, pone on pantalla of siguiomto
‘mensaje de error. FILE NOT FOUND ERROR,

EJEMPLO:

SAVE Almacena el programa en la cita dol cassette sin nom
re que lo doting

SAVE'HOLA" Almacena on la cinta el programa, con el nombre HOLA.

SAVE AS “Almacena en I cin ei programa, eon el nombre content

do enla varable AS.

SAVE HOLA"E Almacena en el cis
LA.

SAVE HOLA"1,1 Almacena on a cinta ol programa, con al nombre HOLA y
aguido de un marcador END OF TAPE

el programa, con el nombre HO.

>)

5

VERIFY
Este comando ordena al éouvononr 1 para que verifique sl al programa
transferido a cita 0 dlekalte coïncide exactamente con la versión en memo-
tia. La finalidad de esta comprobación es asegurerso de que el programa al
Imacenado es correcto y carece de anomaas, tales como una cinta datactuo»
50, Este comando es muy dtl también par
64 pueca grabar oto programa al final Gol Último registrado; para ell, pedir a
(0 64 que verifique ef ultimo programa de la cita, espacificando su nombra;
aturalmanta, al 64 informara que los programas no coinciden 19 que usted
ya sabla, pero la cine entrará en el punto en que puedo almacenarse otro pro.
rama sin orar los existantes.

Si sa usa VERIFY sin añadir nau al comando, el © 88 comprobará cl 21
guiente programa de la eina, cualaulera que sea su nombro, comparándolo
Con el exstanta an la memoria Intoma del ordenador. Si después de VERIFY
‘Se escribe un nombre de programa ontrecomillada) una variable de cadena,
1 © 68 buscará cicho programa y al encontrarlo lo verificará. Si adamas col
Nombre sa pulsa una coma y un numero, 8! C 84 comprobará el programa en
cuestión en el peiltico especificado (1'= cinta, 8 = unidad de discos)
EJEMPLO:

VERIFY Comprusha.!sigulante programa dela cinta.

VERIFY"HOLA” Busca el programa HOLA y le compara con el de la momo.

VERIEY-HOLAE Buses el programa HOLA en ol diskette y lo comprueba.

3. INSTRUCCIONES

CLOSE

Esta instrucción sive para completar y ceras os liceos usados por ise
trucciones OPEN, Va seguida del número del Ncharo quo se desca cera”

EJEMPLO:
cose 2 se corras solo el fichero n° 2.

cu
Lies la abreviación de “clear, que significa borrar; e usa para orar to-

das las variables que haya en la pantalla, pero dejando el programa int

Esta instrucción as ejecutada automáticamente cuando so escribo un coman

do RUN.

cmo.
‘OND envia otro periério a informacion go salida, quo de otro modo so-
ría transforica ala pantalla (por ejemplo, con Instrucciones PRINT © LIST. pe-
o no POKE) Dicho pariérico puede ser una Impresora o un fichero de datos
en cinta o disketo, y ha do abrrse previamente con una instrucción OPEN,
CMD va seguida de un número o variable numérica, para Indicar el fiero,

EJEMPLO:
OPEN TA Abre a pariéricon 4, que es a impresora,

CMD 1 Toda a salida normal rá ahora ala impresora.

UST. Elistedo va ala impresora, en vez de a la pantalla, Incluso la pa

lara LIST acabada de escribir sora isuallzac un la impresore)

Para volver a salita ala pantalla, cerrar simplemente ol fichero con oi co
mando CLOSE.

DATA

La instrucción DATA va seguida de una seri de datos a usaren instruccio
nes READ, Los datos pueden ser números 0 palabras, separados por comas.
Las palabras no precisan estar entre comillas, a menos que contengan alguno.
delos siguientes caracteres: ESPACIO, dos puntos o coma. Si se eseriben dos
Gomas seguidas, sin nada entre elas, € valor será intoprotado por la instruc:
‘ign READ como un cero (1 o trata Do números), o como una cadena vacía
EJEMPLO DE INSTRUCCION DATA:
DATA 100,200,FAED, HOLA MADRE", 2.16,ebc123

Puesto que e! programa no necesita ejecutar una Instrucción DATA para
learn información, ex canvenionte aluar las instruocioncs DATA lo más cerca
pos ble de la última linea del programa. De esta forma cl programa es elacuta-
do más rápidamente

DEF FN (Octine Función)

Esta instrucción parmite defini un célculo completo como una función de
signacu con un nombre corto, Esto ahorra conslderablo espacio de memoria
Buando una férmuta larga daba usarso varias veces on el curso de un mismo
Programa,

El nombre que usted puedo dar a ls lunción on lag letras FN seguidas ce
gualauler nombre legal do varlabe (da 1 62 caracteres) Primer, usted define
fa tunción usando la instrucción DEF seguida del nombre que adjudica ala
unción; a continuación eserioa una variable numérica «an oste caso X ente
paréntes' y finalmente al sigro iguala (=> yla formula en cuostión. De este
Modo usted puede volver a utlizar la formula Susltuyendo la X por cualquier
amero, como se muestra en a linea 20 del agulante ejemplo:

EJEMPLO:
19 DEF FNADO = 12:04:15%I3)

20 PRINT NA) Ein? se inserta en
el lugar en que habia
tina Xen la ferrule

DIM (Dimensión de una tabla)

“Antes de poder usar tables de variables, à menos cue ol numero de ciomon,
tos no exceda de 11,el programa cebe ejecutar una Instrucción DIM para laa
bia on cuestión. A continuación Ge DIM sa escribe ei nombre dele tabla. ue
puede consist one! nombre de cuelquier variable legal. luego, entro paréale
Sis, se eapecilice el número (o varable numérica) de elementos en cada di

es

,

- mension, Una tabla que tenga más de una dimension se denomina "mati.
Usted puede usar cualquier número de dimensiones, pero tenga en cuenta
# que la lista de variables que ostá creanco ocupa gran cantidad de mamon
8 fc: agotar sta en esto tipe de operaciones. Para obtener el número de va
Fables eroadas con caca instrucción DIM, multiplique el nämero total de ele
= montos en cade dimensión de la matriz

o EJEMPLO:
| TO DIM AGO E715), Coma)
t 1

En una misma instrucción DIM as posible dimensionar más co una tabla,
sapatando éstos por comas. Hay que prostar atención a que al programa no
sa ejecuto instrucciones DIM más de una voz para una misma tabla, o de lo con-

{rari ss recibirá un mensaje ce arror en la panlalla. Es convoniont situar las
- instrucciones DIM cerca del principio del programa,

eno

Cuando un programa an su ejecución laga a una Instrucción END, queda

= parado, como sise hubleran agotado sus líneas. Para reanudar a ejecución,
Usar e! comando CONT.

& FOR.TO..STER
Esta instrucción sa usa en combinación con Ia instrucción NEXT para esta
acer una sección de programa que 20 repita un número dado da voces. Por
ejemplo, usted puede hacer que el © 64 cuento hasta un nimero elevado para
intercalar una pausa de unos Segundos dentro de un programa, © que cuente,
2 de ser necesario, alguna coso. Eolas instrucciones so hallan ontr las más
Usadas del lenguaje BASIC.
La instrucción se escribe con
a FOR (nombre de
tajo donde la variable de bucle as la variable a cuyo valor se rá sumando o
e rastanco duranta la ejecución del programa. El comienzo y el final de contaje
Son los lites del valor acjudicado ala variable de bucle,
La instrucción FOR tlene la siguiente lógica: primaro, la variable bucte se
E ajusta al valor da contaj Inicial: ol valor de contaje inal es almaconado para
posterior relerencia para el Ga, Cuanco el programa en su efecución lega a
ic Una Tinea que contiene un comando NEXT, añade 1 al valor dala variable bucle
| y compruaba las mayor quee valor final del ble, Sine ws mayor. se ejecu,
~ {a la linea que sigue Inmediatamente a a Instrucción FOR 5), an cambio, ia
‘arable de bucle ss mayor qua el número fina dl bucio, se ejecutará tinea
= siguiente a 1a Instrucción NEXT
= EJEMPLO:
WFORL
- 28 PRINT L
NEXT
- AB PRINT “ESTOY FRITONL =

108

Este programa pondrá en pantalla los números del 1 al 10, seguidos dei
mensaje ESTOY FRITOIL = 11. ¿Comprende usted cómo opera? En caso ne-
fativo, ei a leer el pärralo que procede al ejemplo y anote en un papel ca-
a paso del programs

Elvalor final del bucle puede ir seguido de la palabra STEP y otro número o
variab En tal caso, cada vez anadıra ol valor quo sigue a STEP, en vez de
{i Perm hacer cuentas hacio atrás o por Iracciones o de cualquier tra for
ma deseada

Usted puede establecer buciea dentro do tros. El bucle interior cenoml
na "encajado". Hey que prestar atención a quo al último bucle en empezar se
el primero on torminar
EJEMPLO DE BUCLES ENCAJADOS:
1 FOR L=1 TO 168
25 FOR À 28 TO 11 STEP 2
SONEXT À
‘aS NEXT L

Incorrecto:
VÍ FOR L=1 TO 198

2 FORA=STO 11 STEPZ
SU NEXT L

48 NEXTA

oer

La instrucción GET es una forma de obtener datos del teclado uno a uno.
‘cuando ss ejecuta GET, el caráctor pulsado es recibido; sí no so pulsa ningu.
o, 30 sacibe un carácter cero vacio) y e programa continda. No hay neces
‘dad de pulsar la tocta RETURN

GET se eseribe seguico de un montaje de variable, generalmente una veri:
bie tipo cadena fafanumerica). Si 3e usara una variable numérica y luego se
Pulsar una tecla que no fuera un numero, programa se pararla con un orar.
La instrucción GET puede Introdueires también en un bucle que compruebo
un rosultado vaclo, de modo que el programa espere la pulsacién de una tecla

EJEMPLO:

AB GET ASF ARS THEN SN
pts
ser»

‘Se use con un petiférico previamente abierto con el comando OPEN, a in
de entar caracteres de uno en uno.

EJEMPLO:
GET 415

IIS

,

GOSUB (Go Subroutine)

Esta Instrucción opera como la GOTO, excepto en que el © 64 recuerda do
¡dónde vino: cuando se encuentra una linea que contlone una Instrucción RE-
TURN, el programa ratrocede ala Instrucción que seguía a GOSUB, Es Uti si
en a programa hay una lina que Ocurie varias veces on diferentes partes del
programa; en vez de escribir de nuevo la rutina cada vez, usted la mecanogra-
fia una tol vez y luego vuelvo a alla utlizando la instrucción GOSUB en cual
quier otra parte Gal programa. Asi la nea "20 GOSUB 800” significa "ir ala
Subrutina que comienza enla línea 800 y ejecutar".

GOTO o GOTO

“Cuando, en su ejecución, el programa llega a una instrucción GOTO, el pro
grama pasa a ejecuta a linea indicaca después do la palabra GOTO,

IFTHEN

Esta Instrucción permite al 64 analizar una situación y adoptar dos at
rantas decisiones según el resultado de dicho análisis. A9! si a expresión
evaluada resulta verdadera, so ejecuta la instrucción que algue a THEN; dicha
Instrucción puede ser un número de linea, en cuyo caso 01€ Ba irá a dicha I
nea del programa, o puedo ser cualquier otra instrucción instrucciones BA
SIC. Sila expresión resulta falsa, sa ejecuta la siguiente Inga, en vez dela si.
Qulonte Instrucción en a misma tines.

La axprasión evaluada puede ser una variable © una formula, en cuyo caso
0 considora vordadera sino os coro y falsas es cero. En a mayoría de los ca
08 nay una expresión que Incluya operadoras relacionalos „AND,
‘OR, NOT}. Si el resultado es verdadero, tien el valor do y 3108 falso, I valor
2. iéase la seccién sobre operadores relacionales, en que so explica su opera»
ción

INPUT

La instrucción INPUT permite mecanograflar datos en el teclado que son
asignados por el ordenador una variable. À este fn, ol programa Interrumpe
Su ejecución, visualiza un interrogante (7 en la pantalla y espera que el orde-
dor escriba la respuesta y pulso la ia RETURN,

Al componor el programs, INPUT va seguido del nombre de una varlable ©
¿o una sta de nombras ce variables separados por comas. De de:
tes de la lista de variables puede incluse un mensaje entre com
mensaje se denomina “aviso” y va seguido de punto y coma() después da ca
‘rar las comillas. Cuando en una Instrucción INPUT hay más de una variable,
las resguestas se mecanografían separadas por comas.
EJEMPLO:
1 INPUT-ESCRIBA A 9:0
2 INPUT: Y SU NOMBRE AS
‘So1NPUT BS
AG PRINT'SEGURO QUE NO SABIA LO QUE QUERIA!

inpur #

Esta instrucción opera como INPUT, poro extras os datos desde un
0 patter previamente abieria con uh comando OPEN,

ver
La instrucción LET es frecuentemente usada en todos los programas ei.

tos en BASIC, pero pueda prascindiae de ou designación, siendo opcional el

sentirla palabra LET. El nombre do a variable ala que se asigna 0 resultado

‘de un cálculo se pone ala izquierda del signo igual (=)y el número otérmu-

la so elie a su Eqularda

EJEMPLO:

ILETA=S

208=0

MC=AB+S

M OS ="HOLA"

NEXT

NEXT se usa elampre asociada a a instrucción FOR, Cuando el programa
lega ala instrucción NEXT, vuelve ala nga que contiene FOR y comprusba el
bucle tage la instrucción FOR para más detalles) Siel bucle está tarminado,
la ejecución pasa ala insiruoción que sigue a NEXT. NEXT puede ir seguico
de un nombre de variables o una lista da nombres de variables separados por

{dorsi hay variables, Astas se completan en el orden en que se inisodujeron,
cr de Izquierda derccha.

EJEMPLO:
18 FOR L = 1 TO ‘siNEXT

20 FOR L=1 TO NEXT L

99 FOR L=1 TO FOR M = 1 TO IONEXT ML

on
Esta Instrucción puede convérin GOTO © GOSUB en versiones especiales

¿ela instrucción IE, ON va soguido de una Formula, que se evalúa para obte

ner un nümare; GOTO o GOSUB van seguidas con una sta de número deines.

Separados por comas, Si slsesultado del cálculo dela formula es , 50 ejecuta.

fa TInon correspondiente al primer número de la ista; st el resultado es 2, se

ejecuta e segundo número de lines, y as sucesivamente. Sl resultado es 0

son negatio o mayor gue la lista de números de lnea, se ejecuta la instruc

ción siguiente a ON.

EJEMPLO:

NOT X

200N X GOTO 19595656

30 PRINT "QUE VAT"

49070 19

BR PRINT "var"

OR X GOTO 103000

open

La instrucción OPEN permite tenor acceso a peréricos, tales como un
sas, o una unidad de discos, una Imprasora o Incluso la propia pantalla
lllizada por ai C 62. OPEN va seguido de ua nkinere de referencia, a usar con
al resto de instrucciones BASIC, y que puede seleccionarse atra y 288. Nor.
alimente se indica un segundo númsre, separado por una coma, pura espect
ficar el periérco: O= pantalla, 1=cassette, 4= improsora, = unidac de dis
os. Puede añadirse un tercer nimaro, también ceparado por una coma como,
dlrcción tocundara, on el caso del esssetta se usa el O para transferir tos.
Ta cinta al ordenador, para grabar datos en la cinta y 2 para grabación in
luyendo un marcador de final de cinta. Cuando se usa la unidad de ciscos,
sta tercar nómero indica la memoria bulter © canal. Gon la Impresora, cl ter
er número puede usarae como comando seleccionable (véase el Manual de
Referencia dol Programador, Finalmante puedo escribe una cadens, con
sistantan un comando pare la manicuieción dela unidad de discos o cl nom
bre del fichero de la cinta

EJEMPLOS:

ABOPEN TA Abra La pantalla como peniérico.

28 OPEN 2,16,"D" Abre el cassette para extraer datos del fichero deno.
minado "0"

SB OPENS Para usar la impresora

A OPEN 48,15 Abre ol canal de datos en el dishete

(Véase también: Instrucclones CLOSE, CMD, GET # INPUT # y PRINT 4; va
viable ST, y Apéndice 83.

POKE
La instrucción POKE va seguida slompre de dos nimerosotérmulas.Eiprl-
mer número es una posición en a memoria interna del © 64, Las posiciones
están numeradas desde 0 a 85000. Algunos pueden usarse fáclimente on los
programas, como las descritas sobre.sonico y color, mientras otras son para
lso exclusivo del 64. El experimentar con instrucciones POKE a veces pro-
ue resultados curiosos; sh curo algo y usted no puede pararo, desconecte
«ordenador y vuelva a conectaro, o aprieta RUNISTOP y pulse RESTORE,
El segundo nómaro puace selsecionaras entre y 255. Se grabard en a 20
sición de memoria especificada, sustituyendo a cualquier valor que nunlara
en ela alojado
EJEMPLO:
16 POKE 368708

28 POKE 9r16h3+ 15,27

PRINT

PRINT es una delas primeras Instrucciones en aprenderse, pero no por alo
dein de toner sus sutlazas. Puage complementarse con los siguientes cle.

Palabras entre comilas|
Nombres de variables

Fureiones *

Signos de puntuación.

Las palabras entrecomilla es tlaman a veces “illeraies” porque ao mu
tran en pantalla oralmente la como se mecanograflan. Los nombres de va
fables eltundos fuera del área entrecomillada co toprosontan on la pantalla
on el valor que contienen. También las funciones que se especifican con
PRINT son visualizadas con el valor que se les ha adjucicado. Los signos de
puntuación se emplean para conten alos gatos un formato nido: la coma de
‘ide a pantalla an 2 columnas aqulva antes, mientras que punto y coma nod
Ja espacio en medio, Ambos sigros pueden usaree como el ultimo simbolo de
la Inatrucción; en tal caso e siguiente elemento visualizado con PINT apare
co como sl continuara la misma instrucción.

38 PRINT A + 8;
‘96 PRINT J;
PRINT X BG,

Véanse también In funciones: POS(, SPO), TABO.

PRINT à
Hay algunas cierancias entre sta instrucción yla anterior. En primar lu
gar, PRINT # va Segul de un número quo Indica el periférico chere de da
{os previamente abierto con laiostruzción OPEN. Dicho numero va seguido de
una coma y una lista de caracteres que serán cccrilos, El uso de coma y de
punto y coma es idéntico al explicado con la Instrucción PRINT, si bien aigu
hos periféricos no operan con as tunciones TAB y SPC.
EJEMPLO:

190 PRINT #,"HOLA, QUE TALI":AS.BS.

READ

Esta Instracclon se usa para dar la información de Instrucciones DATA a
variables, en las que 0 puedo usar, Hay que evita l uso de READ con cade:
as en intruccionet, cuando al comando espera leer un número, ya que on ta
[ss casos aparecera el mensaje de cror, TYPE MISMATCH ERROR.

REM (omark)

EM introduce simplemente obsarvaciones para a persona que isa e pro:
grama. En esta observación puede explicarse una sección del programa, Indi:
aren al nombre del progromador, otc. Las instrueciones REM no afectan la
Ejecución del programs, len Inctementan su fonltud. REM puede segu
a de cualquier tata, sin embargo el uso de caracteres gráficos dará xtra-
hos rasullados (vase el Manual do Referencia dl Programador,

RESTORE

‘Cuando esta Instrucelén a Incorpora en un programa, e puntero que seña:
Lu ol sigulonte elemento a ler en una instrucción DATA se desplaza al primer
lomonto de ia ita. Esto brinda la oportunidad de volver a ler 10 datos. La
palabra RESTORE sa escrloe sola en la limon,

RETURN

Esta instrucción ge incospora en programas siempre con GOSUB: cuando.
el programa llega a RETURN, pasa ala netrucción cue sigue a GOSUB. Sino.
‘exste una instrucción GOSUB previa, aparecerá al mensaje: RETURN WIT
HOUT GOSUB ERROR. RETURN no va seguido de ningun elemento comple
mentario

stop

Esta Instrucción se Incorpora en un programa para pararlo. En a pantalla
parace al mensaje "BREAK ERROR IN LINE a” donde so es el número
de línea an que se halla STOP. El programa puede reanudarse escribiendo el
comando CONT. La instrucción STOP se usa para elminar errores de un pro-
grama,

sys

Lapaiabra SYS va seguida de un númoro decimal o de una variable num
ca en Ia gama 065535. Con ello, el programa ompezará a ojcular el programa
‘en lenguaje máquina a partir de la posición de memoria especificada. Es im
lara a función USA, pero no permite el paso de paramettos.

war

La instrucción WAIT se usa par interrumpir in ojocución de programa has:
1a que el contenido de una posicién do memoria e haya cambiado de una or.
ma ospacifica. Para allo, a palabra WAIT so siguo.con el nümero de dicha po:
sición de memoria, una coma y tro número. Da desearso, puede escribir un
tercer número, también separado por una coma, Los dos últimos números de-
hon estar comprendidos entre 0 y 266

El contonido de a posición de memoria os primero evaluado con el opera
¿or exclusivo OR utizano el tercer número, de haberlo, y luego lOgicamente
(con el oporador AND ullizando el segundo número. Si el regultado eo cero, el
programa vuele ala posición de memoria on cuestión para repatirla compro
beción; cuando el resultado no es cero, el programa pasa a ejecutarla siguien:
te instrucción.

4. FUNCIONES

a. NUMERICAS
ABSQO (valor absoluto)

Esta furción da el valor del úmero cin su signo (— 6 +) La respuesta es,
pues, slempre posa

AND) (arcatangente)
a et dngulo, mecido on radianes, cuya tangente es X

COS (coseno)
Da el valor del coseno de X, donde X as un ángulo medido en radianes.

EXPO toxponenciación)

(Dal valor de In constanta matemática "a" (2.71627 189) elevade ala poton
cia de

FAX) unción XX)
a el valor de la función XX definida por el usuario con una instrucción
EFF FN

INTOD fenteros)
Da al valor de X, as decir omitiendo los decimales El valores siempre inte
‘or o Igual X. Gualquier numero nogativo con decimales 58 convierte en el
húmero entero inferior a su valor actual
Sila función INT se usa para recondoar al entero más próximo, la forma es:
INTOc2 5)

EJEMPLO:

X 2 INT NON + 0100 Redondearalcántimo ocen
roxio.

LOGE dogaritmo)

Da el valor logaritmico natural de X, relerie à a base © futase la función
EXPO). Para convertir a le base logartimica 10, aldi simplemente por
LOGO

PEEK)

‘Se usa para averiguar el contenido de la posición de memoria X, ens gama
de 0 a 55235, y da un resultado entre O y 255, Esta función co usa a menudo
combinada con la instrucción POKE,

ONO (número aleatorio)

Esta tunción daré un número aleatorio, s decir al azar, entre Oy 1. Es uti
en juegos, para simular dados y otras elementos casuales, asi como en cer
tas aplicaciones estadisticas. El rimer númoro alcatorio debaria sar genera:
opor la tórmula RND TD, para empezar cada vez de mec distinto. Elnümmero
acolocaronel lugar do X debe ser 10 cualquier número positive. SX fuera ce
roc mero aleatorio sería el mismo que a última vez Un valor negativo de X
fila sobre el generador de números de modo que producir a misma sc
uencia de números aleatorios

Para simular un juego de dados, úsese I formula INTIRNDIN"E +1) Prime
10, elnúmero alestoio entre Dy 1 95 multiplicado por 6, lo que extiendo la ga
ra 2 0 (an oallcad, mayor que cero y menor de seis}. Luego se añade, | con.
‘itindo la gama entre y 7, La función INT suprime os decimales, haciendo
‘gue el resultado sea un cigto entre 1 y 5.

Para simular los resultados de 2 dados, sumar dos de los números obte
os por la anterior fórmula,

EJEMPLO:

INTIRNO(1)8)+ INTRNDI1"6}+2 Simula 2cados.

= INTIRNO()* 1800) 1 Romero ence y 1983,
190 X-INTANDAT)"150)+ 198 Numero entr Of y 24.
SONO) (signo)

Esta función da el signo de X, 308 positive, negativo o coro. El ocultado se
14 4 1 de ser pos lio, O de sor cero y 1 de ser negativo,

SINOG (weno)
Función de seno tigonomelrien. El resultado es al sano de X, donde X as
un ángulo expresado en radianes

ORD (square root = raie cuadrada)

Esta función da ¡a raiz cuadrada de X, donde X es un número positive ce
re. S1X es unnúmero nogativo, en Ja pantalla aparece un mensaje “ILLEGALY
‘QUANTITY ERROR’

TANOQ tangente)
El resultado es la tangente de X, donde X cs un ángulo en radianes,

sro

¡Cuando so uea esta función, el programa alta a un programa en lenguale

ida está ens posiciones de memoria y2 El ue

guaje de maquina, cual dar como ree

puesta otro número para ol programa en BASIC. Véase e! Manual de teren.

cia dol Programador, en que se trata más detalladamente esta función y la
programación en lenguaje do máquina

b. FUNCIONES DE CADENA

sous)
Esta función da el código ASCII det primer carácter de a varable XS.

HRS
Esta función es la opuesta a ASC, y produce un carácter de cadena cuyo
cédige ASCH es.

LEFTSNS 0

Esta tunelôn da una cadena que contiene os caracteres X mis a la quier
da de la variable x8.

Lens)

Esta función de el número de caracteres (nclujendo espacios y otros sim
bolos) dela cadena XS.

MIOS 05.529
Esta función da una cadera que contiene los caracteres X, empozando por
dl eardetor número 8, de la variable XS,

IGHTSOXS,X)
Esta lunción da los caracteres X más a la derecha de la variable XS,

STRSOO

Contendrá una cadena Idántica ala versión de x8 vis
ción PRINT.

izada por la instruo-

VALS) (Valen

Esta función convierto la cadena X$ on un número y es esencialmente la
operación opuesta a STRS, La cadena es exatninada desde el carácter más a
Ta izquierda, hasta donde llega el formato reconocible delos números Si ni
‘comiooons see encuentra caracteres legales, se converte solo la parte do ca
‘ena hasta dicho punto,

EJEMPLO:
AEX VAL-T28 458)

10% =VALOT2A193")

19 X 2 VALERIUOI7-")
MX VAUT 12323297

©. OTRAS FUNCIONES

FRE) libre)
Esta función da el número de bytes no usados cisponibles en la memoria
cualquiera que ses el valor de X.

ja) ep?

Puede ser quo esta función o devustva un númoro negativo dotiso a que e
almacenamiento del valor de los bytes bres se hace en una variable entera
(tango: de + 22767 a —32188) Para solventar as problema, sume a la canti
‘dad negativa ol nümero 658%, lo cual a dará al número real da bytes res en
la memoria del ordenador.

NOTA: sólo sumar en of caso do que devuelva un numero negativ: en caso
contrario, 8 ESE el valor de bytes libras

POS0) (posición)

Esta función da el número do la columna (021)en que empezará la siguien
toinstrucción PRINT on a pantalla. X puedo tener cualquier valor, y no ss usa,

SPOP (espacio)
Se uen on ia Instrucción PRINT para saltar X

TABS (tabulación)

Este función se usa en instrucclonos PRINT, para visualizar ol siguionte ca
acter en Ia columna número X

APENDICE D:

ABREVIACIONES DE LAS
PALABRAS CLAVE DE BASIC:
Para ayudare a ganar tiempo a a

comandos, ai BASIC del conuooo
palabras claves. La abreviación par

de macanografiar los programas y
‘mite abravar la mayoria de las
"es un interroganto, Las abrovia

palabras se consiguen escribiendo la primera o las dos pH.
la palabra, y a continuación la Tetra siguiente de la palabra
pulsando simultáneamente SHIFT yla letra). Si estas abre
zan en un programa, cuando sea Istedo aparecerá la palabra
BASIC entera fein abreviar, Observe que algunas de las palabras, cuando es
Lén abrevisdas, incluyen un paréntesis izquierdo

pi Er sas

“ “di

no “A me

we aly on

am -D owe 3
om O coro 1
son «O a ‘2
on «O @ eu EE
on eN - «Ge «a
con :D A + Al
EX Do] æ à e +O
se da] u “8
ou eb] ion A
bed 2 so "U
ws Ac) coo >

JETTA IAS O OE IID

SE

ls + ol
von mos e
mon me a B
om + -D
uo o "E 0
eon = + «0
seno ~ + A
os » "Em O
no A O
nu CT va)
owe ED: CC
en A == O

CODIGOS DE PANTALLA

La siguiente taba, contiene todos los caracteres que posee el coumanone
“cen su Juego ae caracteres. Muestra quo número deberá entrar por POKE an
la memoria de pantalla (registro 1028 2 202%) para obtener el caracter doses:
de. También se puede ve, a que caracto lo corresponde el número que se ha
entrado por PEEK.

Hay dos Juegos de caracteres disponibles pero s6lo uno ala vez esto quiere
decir cua no puede tener eimullänsamante en pantalla caracteres da uno y
‘tro juego. Se puede cambiar de Juego pulsando simultáneamente las teclas
SHIFT y COMMODORE,

Desde BASIC, ga POKE 5827221 para obtener Is may y POKE
5027222 para cambiar a mindsculas

valquior caracter da a tabla puedo ser presentado en modo INVERSO.

Elcócigo del caracter en INVERSO ss obllano, añadiendo al cócigo del en
Factor 128"

Si quiere visusizar un eculo en a situación 1504, haga un POKE con el cd
{igo dal culo (81) en el rogisto 1804: POKE 1504481

Hay también una situación de memoria correspondiente para! control del
color do cada caracter presentado en pantalla (registros 55296-56295). Para
‘camblar el color del coule a amarilo (cócigo de color 7) hará un POKE on la
tuación de memoria correspondiente (55776) con ol código: POKE 557707.

Roférasa al apéndice G para los mapas de memoria de,pantalla y color,
con sus códigos correspondiente.

CODIGOS DE PANTALLA

AED seco? FO | ADO uen? VO | AGO 02 NE

o ofc «© sr + es
A a ilo @ ae 6 7
en ele + slun oo

roe

e602

3853882

<moowu

o

RRELKREKKSSRRSSSSESSS SH

TIi2>x>3z000c0r>>3xX>8N

SSG0COCSe7) OUNSOCSOIBONKRONSSE

CAEN

av

533

3925778588 38858385333

one | ano

acon

caso

10
1"

4
15

16
7
1
0
2
2
2
23
2
2
2
2
2
2
20
ar
Es
99
El
3

ME OZ ma am? ro

i

»|m 1 | D 17
| 1 | CE 118
ss | [B so | © 19
ss | Ca ws | io
9 | [8 109 | ka 121
s | wo} O M
s|0 ma] 12
10 | [9 COL] 12
sil E “| B] 125
wel 4) 128
103; HD a5 | Ad 127
| D 116

Los códigos de 128 256 representan los mismos caracteres que los códigos
do D a 127, pero en modo INVERSO.

APENDICE F:

CODIGOS ASCII y CHR$

Este Apéndice lo muosiran qué caracteres aparecen el oscribe: PRINT
‘CHAS0O, para togos los valores posibles de X.Tamblén le muestra los valores
‘que obtardra si escribo PRINT ASC ("x"), donde x es cualquier carácter que
pueda escribir. Esto es muy práctico para comparar un caracter

na instrucción GET, para convertir la presentación de Mayúscul
ules y

Mayúsca
um PRINT.

vana am [msn on eus oe | van om]
o e CE s a

1 le | 4 8

2 #|s | 5 8

E al» a) 6

3 ala ow] 7 8

Mm : 2 æ | 8 ss
| 6 wl ( «| + #7
7 24 ) 4 : 58

25 ” a2 | i 59

26 1 #s| < so

al. al. e

" al - «| > e
“D ©. sl:

mm sm ~| 7 @ w!
qr «| II
5 ¡a >| : «| 6 «|

wl : al 2 | ce #7

‘wu sm Joue ] mue om | aro
o 68 | a) oli + 158
e wl] s|N wz 156
Fr nm|E mw | @
6 nia 100 12 ¡ga 18
24 2 0 mm 130 | BA 159
1 |G 02 131 | ED 160
som (Do re] por
x all mwln 13! oe
ı ss |B) we | À ww
mom IIS win «ws| O 160
na |B) wir tae | LI 165
or DD wle wr] Bos
Pr oıN we | te w| [1 161
oe a [A min | Em 168
a 20 mie w| Pl 16
s »/ ID mean] [1 o
Ta WM ns ous se | (Ait
u es [CO] m 13 | Ca ve |
va mi «| D m
wall wi | A ws]
x sd mi we) © 1
vy |e | wr] Em
z 0/0 » «| ©
€ s E 10 w| Es
A CRIS] 150! A 19}
1 CIS 151! Li 160
t “(E = we} D te
- sE = 168 | CH 16
B s|D + | M

wom om Joux om | woman oe | un on

oe O0 w|ll t08 | BF) 10
os | a) mA 1! 1

LOSCODIGOS 124279 SONLOSMISMOS QUE eau
LOS GODIMOS MAI SONLOSMISMOSQUE 17 A190
EL conso > ES EL Mismo out ts

APENDICE G:

LOS MAPAS DE MEMORIA DE
COLOR Y PANTALLA

muestran, que situación do memeria control el em
plazamion cleres en la pantalla, y al registro que se ullza para
cambiar individualmente ol olor de un caracie, ai como la sta de los Cód.
903 de colores,

MAPA DE LA MEMORIA DE PANTALLA

D 7 »

leo AS Las

MA TITTEN 3

aa Dr ET

Los valores delos códigos de color quo se pueden antrar por POKE, en un
rogisro para cambiar el color de un caracter son los siguientes:

9 NEGRO 8 NARANJA
Y BLANCO S MARRON
2 ROJO 1B ROJO Claro
3 CHAN m GRIST

à PURPURA 12 GRIS2

5 VERDE 19. VERDE Claro
5 AZUL 14 AZUL Claro
7 AMARILLO 15 GRISA

Por alemplo para cambiar al color de un caracter situaco en a esquina I“
aulerda Superior de la pantalla, al Ho; escriba: POKE 552002.

MAPA DE LA MEMORIA DE COLORES
cous
= » a

APENDICE H: >

DERIVACION DE FUNCIONES —
MATEMATICAS +

Las funciones que no son Intriasecas al BASIC del coMMODORE 646 pueden
calcularas de la forma siguiente:

FUNCION EQUIVALENTE EN BASIC. =
Secamıe “SEC NEOSHO =
| COSEcANTE CSC0G = esoo
SOTANGENTE COTOS = HAN =
SEND verso) ACSINDO= ATHQUEQME=-XX 1
COSENO INVERSO ARCCOS ATNOUSCH
xa tps ae E
SECANTE INVERSA ARCSEOE = ATSC
COSECANTE INVERSA. ARCCSER = AIMAR 1 y
Ran
COTANGENTE INVERSA ACTOR = AMAS + 22 =

SENO MPERBOLICO
TANGENTE HIPERBOLIOA

EXO EXP. A
(EXP + Exp >
EXPE AWEX H+ EXP

DEMO + Ex -
EN
PERO) >
Raw

SERG HIPEROLICO INVERSO ANCEINIDO = LOGEC + So» 1 =
(COSENO HIPERBOLICO vERSD

TANGENTE HIPERDOUCA INVERSA

SECANTE MIPERBOLICA
[GOSEGANTE HIPERBOLICA
SOTANGENTE MERO, 1A

COSEGANTE HIFEROOLICA INVERSA.

Po I,
COTANGENTE WIPERROLICA INVERSA. | aleco taie Lo + 1 >

APENDICE I:

CONEXIONES DE DISPOSITIVOS
DE ENTRADA/SALIDA

Este apéndice esta pensado para mostrarie que conexiones se pueden na-
cer con el coumooone ee

1) Gamero,
2) Cartridge Stot
3) AusioNides

Control del Puerto 1

4) Serial VO (DisPrinten)
$) Mooulader Output

9) Casse

7) User Port

Pan

JoY a2
Kar

Control del Puerto 2

ons |

rors

loves
Jor oa
Jor es
ron

poten 8

se so ma

cartuchos:

Ts Come | ipa
2 ry + | Tera
a ora 2 +
1 or 3 +
18 vs : ire
1 os 5 EN
a ba 8 [oc
se ba ; 101
8 be 3 | game
= ES 5 | Emm
2 ERA Lo. ROMA

“conta | Two Conde [Tee
" o a [rem
P se 5 | Rom
" a © | nese
8 as © wat
r as € 302
u a E a
v ry 6 au
“ a a s
Y » 4 an

AudioVideo

[gente] Te ata

Tome io | Said Lum SC.

o ass vie com

jeotenatr) Sais Crono
| se Ne

5
|

Serie (mprecoradiaco)

3 Tor

TERRA
SERIAL ANT. INOUT
SERIAL DATA INOUT
RESET

1 | TERRA
e2 [is
Ga | moros oe: casserre
ba | tecruna set caccere
Es | aragacion oët casserte
Fe | INTERRUPTOR CASSETTE
El Puerto (Por) del Usuario:
[Senasa Te cy
2 [eo x. 100 ma
3 [acer
2 [ex
s [onra
7 [see
2 [pce
& | Ext. ceria anr.
0 [we se, 300 m4
[es Mas 100 mA
12 [mena
Ganso [To ia
A [rm
8 [rue
© | Pao
o [ro
E [oe
wo | pee
y [res
tL [eer
u | paz
N [mem

1234507009100
A

een.

APENDICE J:

PROGRAMAS A PROBAR

Homos incluido (en este manual) un gran número de programas útlas para
que los pruobe con su comovon sac. Estos programas son diverts y ul

4 rd

pad

169 PRINCE SCRITURY Jin KUSTEREIELE"
1ER nrureanuiere che rauur tenes" 328 21 RSC (20780070290.
156 PRINTSABHFENTE ROIYIMR® LA PAMÈRA MESTENI A DE 5 .ETRAS"
Las FRINTIABEBE MOI INR COLE © LETRAS CORRECTS"

158 PINT "OG Li RMS ANEURE.

150 PEINTIDESE cone FL HERO Ge PART IONS”
IS Reserees CHEN OR SN su PRECIOR.

200 PRINT" REUGERENCIMELA SUERTE MARIA Levenenn
158 Dents be un invenre FL SIGUIENTES mei"
Bas pent Si EMPIRE “area” Lose 2 Puno”
S13 CIRE PURE IES COMME © meros

23 beer mOeaHE CMTE

223 deme 1peeu.beoir eres oli
269 ORTRHPSHE, IDOL DA nim. TEC
O OUR OUT
Boo DITIRVFTU-S URS. ORETT.PLUFS OU
Boo CAMPUS -evupn TI TES GARE
338 Gara Ite sESV COMPTE Les Ge
ie ERTRCFFUN.AETOH,TEVCH Kava ue
528 Gninursrt DT Ese
See Onsreevasu.Derea, EMOL GSETT Tu
SO
IAN

“eo PeayalTovsRensus’ Dane
ren

EB Tefrtoosieroer Hence
Ho Dr

Son elena crade: mn
Son AO an z
Bie PORTILLO MaLneeR ES Leone" TRE Enr
528 PRINT"PRUEDE Con PALABRAS CORRECTAS

ER retire CUENTE Lamia

Le PRINT Pape vas”, O LETRAS EAPOREJADAS.

Sse pene viene,

Soe consent de prLAgen "ce

38 Trucs cm he FökDe RUS thy BEDE ce
Sel vamo nao Ke nt
Soo Forleuros

Seo SenecCMEOEC EE. TA) verscchineeng, 1,17; clas state on

to noz cate we (arena Es ona Sant
AN

TEVSEORVOSTHENPRINT-ONGANF, „DE DUE CLASE ES E
PORTO cio Pace”

Foti TOSS PER TERA! sc 0: 3070704
near
nents
PRINT RI PPP" cs PUTOS

ERIN TE JORESE, «SOK PALAIS 1
PEE O U ORT
Perm ooroeıe

ERINTOTIENE SOLO: aa INTENTOS,
PRINTS SoFRA PR

Reliiemges ces somaorossa

1 REN wer SECUENCIA =
Er
| IS REN wwe De per user secur >
‚REN su Série iS
(REN am PO ED 37% à
REN wae MONTDOHERWIL.E, PE Lese
Teen N
Se Dinnsczen
7 100° SDE RmoroR TUVE =
110 2ise"igiserea0izsise reves ares
Bae RENTREE LA mon EN una SECUENCIAS &
22a METE un LONGITUD TANITA DE 2 PE
Baa trexeinessasthanaaa >
20 se
300 FOR tarros a
ie Aro mbr, 2,33
fan weet >
Sao REM caen AL ARS
228 FoRr=1 To: >
TEE
DE >
COS
Hess >
Res
Buse &
Feed ere ctuese S
PRLNTA PUEDE SER ENTRE I Y "76:
Ronan 5
Fret Tom

EE
wert
ösuesse S

here >
Trenscoroee

FRET Mco 2372 nurgurese >
Heur"wnulere Du OTRA "vs 4
ME TUE LRO ED Sara

Erg A
Seine

PRINTLERTs<213,9) E

220

bs

se rer TECLADO ae Prem
Da aym ımmm Imm CRC ES SAE
Germanen ES EOL A
REE
EN
EN
Va PRINT ges:
EL cesó wen
aa seLencion corne
Pera rr" Poe DE ang"
Peta Pond ELE cone are In Te e
SE po Im os» apteecass
Sooieeteaerpeesel ame

nn skew LES SHIFT Y

=

TURN a Rett soy PEST Lou LAS De FASE LANCE EXT
eri ere te

Foca actions rkeRSe CIO OM, 139985 EXT

mee LEE ES SHIET ESP ABAJO

peores fer unsere

E «7.4000, 256 HE)

PAR ne mene legs FOREST

Arrieta THE 180

FLE AR LE Cas D DEN Tan? JCR=Se Tess IFFREZTHERSAD

PONES AE ca REn Cowie DE O0

PONES REA FLAC, ATEN
ca Deo FLE FUER

Bae FES ER BOLA ns) EN PONE BAJO

PONER LT FR O:pem PONE ALTO

ForegverT SIREN Prine DEG/03

A HAE

AT

PEER vane PULSO

pet liinda stev=a THIGH

Sarasac

fied 1004100 0340 REN” ES Fi

e OOO 86M ES FS

Sn

a ate FOOTUSE EINES MET Es

DNS dl siege :00TO SURE ES, SURTE

e EEE,
am L20 CODOS Rat” ES SHIRT

hop Tere: rental sc0Tus™e
590 Iren Taco

Soe mroseà

EHE

a PaaS" RENO IRON ESPERA UWA TECLA.
AN]

APENDICE K

CONVERSION DE PROGRAMAS
BASIC ESTANDARD AL
(BASIC DEL) COMMODORE 64C

Sitisne programas escrtes en olto BASIC que el de Commodore, sera na
casio nacer unos pequeños
GG hemos meluido al

8 consejos para nacer la conversión más sencillo

Dimensiones de Cade
Borto tocas las i
inst

«iones que dectaran a longitud de la cadena. Una
(ón DIM ASA.) que dimensions una matriz da cacanas para J alam
{os de longiuë laboran sar convertidos ala sentencia de BASIC Commodo-
fe DIMAS)
Algunos BASICS utilizan una coma o signos para la concatanación de ca
nas, Cada una de allas debe sor cambiada por un ig
rador del BASIC-Commodore para la concatación de cadenas (
el Basie del conmogore et, as uncionas MIDS, RIGHTS: LEFTS, e ut:
ara obtener subeadenas de cadenas. Formatos como AS() para 2208.
catacterde orden en AS. ASU) pare sacar “pes

posición | ad, deban cambiarse así

vor DASIcs | BASIC del comonone eee A
Rp RAS xa cms + WE
Atay = LEFTRASI D 28 ions, LD

a

Asignaciones Miliplos
Para poner a coro. By © algunos BASIC le peti
po:

Lee =

es, antes do lanzarl con el COMMODORE

clones do cele z

El BASIC del coumonone ue interpretaria öl segundo signo “=” como un
operador lógico y ajuslaria B = —1 81.0 = 0, Para eitar este probiama con.
vierte la instrucción an la siquiente:

Wo=pa=9

Instrucciones Múltiples

Algunos BASICS ullizan una bara atras) "para separar diversas instruc:
«iones en una misma linea. Con el BASIC Commadors separe tocas lus ins
trucciones con los 2 puntos (1

Funciones MAT
Los programas que ullizan as funciones MAT.
escritas utilizando un bucle FOR.. NEXT para sar

unos BASICS deben ser
jecutades dobidamento.

APENDICE L:

MENSAJES DE ERROR

Este Apéncica contiene una ista
‚dos por el comuooore sec y a desc!

plata de los mensajes de error gene:
ipclón de las causas:

BAD DATA.(Datos incorrectes}. Se racibleran datos altanumricos desde un
fichero abierto, cuundo el programa esperaba datos numéricos.

BAD SUBSCRIPT...Subscilo incorrecto; El programa intentaba haces refe-

rancia a un elemento de una matriz cuyo número estaba fuera dela gama es
pecificada en a instrucción DIA.

CANT CONTINUE...No es posible conlinuark El comando CONT no puede

‘operat porque no había empezado la ejecución del programa, hay un ertor o

0 ha cambiado una lines

DEVICE NOT PRESENT..(Fatta ol periférico: el peifrico requerido no astá

disponible para una instrucción OPEN, CLOSE, CMD, PRINTS, INPUT? 0
Gere

DIVISION BY ZERO..{Owisien por core: La división por cero no tiene sentido
matemático y no osla permitida

EXTRA (GNORED...(Se omiten los datos extra) Se macanograflaron demas.

‘doe ¿stos en teapueata a una nstrucción INPUT. Se aceptaton se os prime.
fos datos

FILE NOT FOUND..(Fichero no encontrado}: Si usted buscaba un fichera en
luna cinta. se encontró una marca END OF TAPE (inal do cinta. Si so buscaba

9 un diszato, no existe fiero con dicho nombre

FILE NOT OPEN...Ficher no ubierio) El ichero especificado en una instruc:
ción CLOSE, CMB, PRINT 4. INPUT # 0 GET! debo abrrsa primero con OPEN.
FILE OPEN. (Fichoto abloto Se ha intentado abel un tichero usando al nde
mero ce un fichero ya abro.

FORMULA TOO COMPLEX. (Formula demasiado completa): La expresión de
jaden evolveda deberia duicirce por lo monos en dos partes para que ol sis

toma pusiera elaboraria

ILLEGAL DIRECT..iegal
incorporada an un pro
ILLEGAL QUANTITY...Canticiailegay Un número usado como el argumento

de una función o Instrucción está fuera de la gama permitida

LOAD: Hay un problema con el programa en la cin

fo} La Instrucción INPUT s6lo puede usarse
‚ma, no en modo directo.

NEXT WITHOUT FOR. «NEXT sin FOR): Hay buelos encajados ncomectarnen-
teo un nombre de variable en una instrucción NEXT que no corresponde ala
de la nstrucción FOR.

NOT INPUT FILE_{No fichero entrada): Se ha intentado introducir o extras
datos con INPUT o GET en un fichero espociticado sólo para salida de datos,
HOT OUTPUT FILE...NO fichero de saldar Se ha Intantaco grabar datos con
PRINT # en un fichero que estaba espaeilicado solo para extracción de datos.
OUT OF DATA...Detos agotados) Se olacut6 una instrucción

quedaban datos por ler en la instrucción DATA.

OUT OF MEMORY...Memoria agotada): No queda memoria RAM para el pro.
‘rama o sus variables, Puede ocur también cuando se encajan demasiados.
Bucies FOR o hay demasiadas instrucciones GOSUB.

OVERFLOW...No cabe): El resultado de un cálculo es mayor que el máximo.
mero permitido, quo os 1.70141884 + 38.

REDIM'D ARRAY..(Matriz redimensionaday. Una matriz puede dimensionarse
610 una vez. con DIM. $, se usa una variable de matíz antes de que ésta oa
imensionada, e ejecuta una operaciôn DIM culomáticamente, establecian
do el número tos de diena matrz en dz, y cualquier posterior de
imenelonado gensrará al mensaje de ero:

RED FROM START. Volver a empezar desde al principlo} So mecanografía
fon datos de cerscteres durante una Instrucción INPUT, an vez de los datos
numéricos que se esperaban, Simplemente volver a efectuar la entrada en el
teclado en moco que sea correcta y el programa continuará por sí mismo.
RETURN WITHOUT GOSUB. {RETURN sin GOSUB; Se encontró una Instruc-
ción RETURN sin que se hubiera incorporado un comando GOSUB,

STRING TOO LONG. Cadena demasiado larga): Una cadena puede contener
como máximo 266 caracteres.

SYNTAX..Sintaslok Una Instrucción no es reconocida porel VIC: hay un pa-
rantesis de mas o de menos, un error de mecanogratlado, atc.

TYPE MISMATCH..(.0s datos mecanograflados no coincident: Este mensaje
de error se genera cuando se usa un número an vez de una cadona, vicever.
UNDEPD FUNCTION...Función no detiniday So usó como ref
“unción definida por el usuario, pero la miema no habla sido deli
la instrucción DEF FN.

UNDEF STATEMENT...Instrucción no detinday Se intentó pasar con GOTO
© GOSUB 0 ejecutar con RUN una Tinea que no exista

VERIFY..(Vartican: El programa enla cinta cassette en el
de con ei programa actualmente on la memoria del ordenador,

APENDICE M:

VALORES DE LAS —
NOTAS MUSICALES .

Este Apéndice contiene una lista completa de Notas musicales von en
mero de nota, el nombre dela nota, y los cócigos a entrar por POKE en los ro
¡lstros de Alta y Baja Frecuencia del chip ce sonidos para generar la nota de
seeds,

Es
Go i
ve
©

so \

oe

2
re 2
oe 3

fen
ca
cra

6

De

Es
tee
E one

sue otura Alt Froueca ajaFrecomncia
El Pe} 7 =
à nea 7 8
5 2 ° ES
se es 3 o
E ce > 2
E pa > 1”
» vo 1 ©
so es 10 205
a E u mu
= ma = ES
“ cra 8 es
“ ns 6 zo
se ca 2 ”
# ca 1 “
so bea 19 so
S bee 2 100
a a 2 20
5 res 24 “
E on Bi 7
= 584 2
a se » ja
> bs 2 ss
“ os e] 7
a ce. EN ss
e bs » ne
s oes ” m
se a E
s ss ‚m
e si E
ss sa m
” # m
2 “ no
7 > ne
02 108 za

E E A CITA
> Re ms
= ae mm
me € 17
85 cnr vs
me 07 15
a ber va
ss er m
> fer va
a e 27
= ar zo
” ve zu

NES

,

APENDICE N:

BIBLIOGRAFIA

‘Adison:vest

Compute
Cowbay Computing

Creative Computing

Dithism Press

Faulk Baker Associates
Hayden 600k Co.

Howard W. Sams

Little, Brown & Co.

BASIC and the Porsonal Computer", Dwyer and
Creme

Comouté'e First Book of PETICSN"

"Fond Me. Im Your PET Computer”, Carol Alexanı
der

Looking Good with Your PET", Carol Alexander
“Teachers PET — Plans, Quizzes, and Answers"

ling Acquainted With Your VIC 20", T. Hartral
“BASIC Basic English Dictionary for the PET"
Laity Noonan

"PET BASIC’, Tom Rugg and Pil Fekdman

“MOS Prógramming Manual”, MOS Technology

"BASIC From the Ground Up", David E. Simon
“1 Speak BASIC to My PET", Aubroy Jores, Jr
“Library of PET Subroutines", Nick Hampshira
“PET Graphics”, Nick Hampshire

“BASIC Conversions Handbook, Appie, TRSSO,
and PET”, David A. Brain, Philip R. Oat, Paul J
Paquin, and ChandierP. Stone

“he Howard W. Sams Crash Course in Mierocom-
puters”, Louls €. Franz

“Mostly BASIC: Apelicalione for Your PET, Ho-
ward Berenbon

“PET Interfacing”, James M. Downey and Steven
M Rogers

“1020 Programmer's Reference Guido", A. Finke
P. Migginbollom, N. Hanis, and M. Tome).

“computer Games for Bucinesses, Schools, and
"Homes", J. Victor Nagigian, and Wiliam S, Hoages
“The Computer Tutor: Lesining Activites for Ho:
mes and Schoole”, Gary W. Orwi, Unwerally ol
Cantal Florida, and Willam S, Hedge

Meran

Osbomemo@rawHi

PC. Publications.
Prentice-Hall

Reston Publishing Co.

Telmes Courseware
Ratings

Total information
Sarices.

“Hande On BASIC With a PET”, Horbert D. Pook:

“Home and Otlica Usa of VisiCalc”, D. Gastlawite,
and. Chisoun.

‘Guia del Ordenador Personal PETICEM, Carrol 5,
Donanuo

PET Fun and Games", À Jetílos and G. Fisher

"PET and the IEEE", A. Osborne and C. Donahue

"Some Common BASIC Programs forthe PET”, L
Poole, M. Borchars, and C. Donahue

“Sistema operativo CPIM. Guía del Usuario", Thom
Hogan

“CBM Professional Computer Guide”

“Tha PET Personal Guide"

The 8066 Book”, Russell Rector and George Aloxy

“Beginning Sell-Teaching Computer Lessons”

“tha PET Personal Computer for Beginners", 5,
‘burn and V. Morgan

“PEL and tne IEEE 486 Bus (GPIBY‘ Eugene Fisher
and ©. W. Jensen

“PET BASIC — Training Your PET Computer“, Ra
men Zamora, Wim. F. Carta, and D Albrecht

“PET Games and Recreation”, Ogelaby,L.Lind-
‘ey, and D. Kunkin

PET BASIC”, Richard Huskall
“VIG Games and Recreation”

“BASIC and the Personal Computer", TA.
Dwyer, ana M.Critentield

“Understanding Your PETICEM, Vol. 1, BASIC Pro-
gramming”

“Understanding Your VIC”, David Schultz

APENDICE O:

MAPA DE LOS REGISTROS
DE SPRITES

eae Nar | ons | vas | ves | oss | 062 | oor | 080

> por so fear
2 2m ie |e

5 sim save [ommezr
oe sexo |somnesx |
e eto oo [sore

s 0m sin [some ar
wen bx saxo [ore

n sb oo [armee
ec fox son [once —,
5» + sro [conor |
17. 11 Rex fees | oom [som mn [rac [ai vc | ean
w 12 fer Jee [cs [ca nes [aca [ci [nes |memen
won a wo [usura
wu po vero [rear

Rent
‘oem hy Dar

[ern

ne

a | sc

Ixscu recu

En

van

EN

errs

o

see [eo

sec ua

50e

E

+ CODIGOSDECOLOR DEC. HEXA COLOR

32 mo o NEGRO [ex à TcoLonexremon|
Las ml Os Tunauesa [co
Use me a mavamorraleons
w ph 7 muauo ec ware coran |
4 m8 8 NARANIA 1223 ü
3 si 2 + MARRON s2cOL 2
an e GARY Bon | 7 | 4
Mb A |

SOLO LOS COLORES DEO A 7 PUEDEN SER UTILIZADOS EN MULTICOLOR

APENDICE P:

BASES DEL CONTROL DE
SONIDO DEL COMMODORE 64C

Esta tabia contione los cóaigos numéricos que necesita user en sus pro:
gramas de sonido, de acuerdo con las tres voces del Comoponer«c que
Quiera usar. Pata situar y ajustar cl contr! de sonido en au programa BASIC,
POKE el número dela segunda columna, seguido do coma y un número dala
tabla. samajante a asta: POKE 54270.17 (selecciona la Forma do onca tis
ular para la VOZ 1)

recuerde que debe ejustar el VOLUMEN antes de que pueda gonorar son
50: POKE 54296 seguido de un número de 0 16 justa el volumen para las 3

Tome 2 POKES separados para generar cada nota musical. por ample
POKE 54273,34: POKE 54272,75 ceeigna G bala en la escala vocal sone.

Tambión.. no ha limitado los números mostrados en lus tables. Si 3410 as.
un sonido “correcta” para C baa pruebe 35. Coloque un SOSTEN allo ATA.
QUE proporcional que estos muosiran, más dos o más números SOSTEN uni
des. (Ejomplo. POKESA277,96 combina dos alaques proporcionales... pero.
POKE51277.20 provee un ataque bajo proporclonal(16)y una csida media pro
porelonal ie)

= AJUSTE VOLUMEN — MISIMO PARA LAS 3 VOCES.
- Com vorumJporesersd summer sage rom 0 at) 1 13 dent
VOZ NUMERO 1

vase. estene| sou OU 0x ESTOS unos

me pacha bebe

15 ra ue te

mi fede est

7 VOZ NUMERO 2

amigos | yore, | ave | am are | an | ou fon] er | can

soe [vm low tae te Ta le la
lee]

- VOZ NUMERO 8:

- eig | Ce foal ajos] vie
a sta DE
- romuxoronoa | pons | mann | o sen | maso | mme
2 es [ae | esse
amausupa | rome | an | wa | a2 an | | em
- Par Icaca P| AR
= SOSTEWESCAPE had io a hed eje a al mi

PAUEBE ESTOS AJUSTES PARA SIMULAR DIFERENTES AJUSTES

vrstamemo | Form nd re CIC
E73 ® © [avons

re e ouais

©. Sara A © [nos

Tango 2 0 [name

Tiago o 20 | No apieatie

o 0 [No spleen

- se © [Noise

Troma ” 0 [No sales

SIGNIFICADOS DE LOS TERMINOS SONOROS.

o Putin 9 cles so pt ot Sn

- NOTA: Ataquriatd y SosténEncane podria sss impr son FOKES an 2 rota
ma ANTES que PORE la Fora de nn

INDICE
A

Abreviaturas, comandos BASIC, 130,

at

Accesorios, wil 106108

Aleatorios, números, 48.53,

And, apurador, 14

Animación, 49/44, 6566, 697, 132,
28.129

Aprendiendo a maneja, 1329

Añlimáticas,16rmulas, 29, 2627, 119,
120, 140

Aritmáticos, operadores, 23,2827,
RE

ASC, función, 128, 195.187

ASCII códigos do cardeter, 135-137

Aviso, 45

8

Base
abreviatures, 130-131
comandos, 114117
funciones de cadena, 120
funciones numéncas, 125127
operadores, 112114
¿tras funciones, 129
Sentencias, 1172125
variables, 11213

Bibliografia, 155-156,

Binaria, artmética, 767

fit, 7578

Bucté, elardo, 61, 65

Belo, 9940, 43-45

Byte, 76

e
Cadenas, variables, 9637, 112118
Cálculos, 2229
Cargando programas de cinta, 1820.
Cassette, port 3
HAS, función, 3637, 4847, 53,
5830, 113, 128, 138-197, 148
CLOSE, sentencia, 117
GLRHOME,
SLR, sentencie
Color
jst, 11:12
códigos CHRS, 58
‘mapa de memoria, 64, 189

pantalla y marco, 0043, 138
PEEKS y POKES, 8081
toclas, 6657

Comandos, BASIC, 114117.

Comillas, 22

Commodore, tec
gráficas)

Conexiones.
'oscionales, 97
panel lateral, 2
traseras, 28
TWiMoniter, 35

SONT, comando, 114

ConTRoL. tecla, 11, 18

Coriglanio errores, 4

COS, función, 128,

Cursor, 10

CURSOR, tecla, 10, 15

o

Data, sentencia, 9204, 118

DATASSETTE, grabacor, (var
grabador cinta cassete)

Datos, carga y grabación (cinta)
“eat

Datos, carga y grabación (disco),
1027

DEF, sentencia, 118

DEL; tecla, 15

DIM, sentencia, 198-119

División, 23, 28, 2, 113

Duración, vor For. Next)

E
Ecuaciones, 114

Edición programas, 15,94
Editor BOM, vi, 69176

END, senteneis, 19

Entera, variable, 12

Error, mensajes, 2223, 150-151
Escribiendo en cinta, 110
EXP, función, 128
Exponenciación, 2527, 113

E
Ficheros, (OATASSETTE) 21, 110-111
lcheros, (aco), 21, 10111
Financiers, Ayunas, 108

FOR, sentencla, 119

FRE. función, 128

Funciones definigas do usuado,
(vor DEF)
Funciones, 125-120

a

GETE, sentencia, 120

GET, tontancia, 4748, 119:120

GOSUB, sentencia, 120

GOTO (GO TO) eastencia, 32:94, 120

Grabador cinta cassette (audio) vil,
3, 1620, 21

Grabagor da cinta casselte ideo), 7

Grabando programa DATASSETTE),
2

Grabando programa (Disco) 21
Gráficos, lecis, 17, 6057, 6,
132397
Graticos, simbolos, ver teclas
ticas)

4
Hiportlcas, funciones, 140

'

110, pins, 141.143

WO, ports, 27, 141-143

NEE Eee, mertace, 23, 141

1F..THEN, sentenela, 97:39, 120-121

Igual ne igual e, sign0s, 28, 2627,
11

INPUT, 124

INPUT, sentencia, 45-47, 121

INST, joa, 15,

INT, función, 128

4

Joysticks, 23,141
Juegos, controles y ports, 2-9, 141

L
LEFT, función, 128
LEN, función, 128

LET, sentoncia, 121
UST, comando, 38:34, 115
LOAD, comando, 115
LOG, función, 126

Matemáticas
Fórmulas, 2927

tabla de funciones, 140,
Simbolos, 2427, 98, 114
Mayor que, 114
MayüseuissmMinéseules, modo, 14
Memoria
expansión 24, 142
mapas, 6265
Menor quo, 114
MIDS, unción, 128
Minizeulae, caracteres, 1417
Modulaor, BE 47
Multiplicación, 24, 113
Música, 7990

N
NEW. comando, 115
NEXT, sentencia, 121-122
Nombres,

programa, 1821

Variatio, 3437
NOT, oporacor, 114
Niméricas, variables, 96397

o
ON, sentencia, 122
OPEN, sentencia,
Operadores
'sriiméticos, 113
lógicos, 114
relacionales, 114

mapa de memorias, 6268,

Paröntois, 28
PEEK, función, 6062
Periféricos, il, 28, 107-108
POKE, sentencia, 62-81
Pots, O, 23, 141.143
POS, tunclén, 128
PRINTA, 124
PRINT, Sentencia, 228, 123:124
Programas.
cergendolgrabando
(DATASSETTE), 1821
(armandotgrabande (disco), 1821
sición, 15.34
Aumeraelon de Ines, 32:33

R

EAD, sentencia 124

Reloj, 113

REM, sortencia, 124

Pesos: palabras, er comodos
Sentencias)

RESTORE, sentencia, 124

Restore, tecla, 15, 18

RETURN, sentencia, 124

Rotum, tecla, 15, 1

RIGHTS, función, 128

AND, función, 4813, 128,

RUNISTOP, tecla, 16-17

RUN, comando, 118

s
SAVE, comando, 2,16
SON, unción

Shit ees, tee 17
SIN, tuncion, 127

Sonido, electos, 69.90

SPC, función, 129

SQR, función, 127

STOP, comando, 125

STOP, cl, 16-17

STRS, función, 128

Suma, 23, 2627, 113

Suscrias, variables, 9598, 112-113,
Sustracción, 24, 193

Syntax error, 22

SYS, sentencias, 125

r
TAB, unción, 129
Tablas, 95-108,
TAN, función, 127
Teclado, 14-17
‘THs, variable, 13
Ti variable, 113
Tiempo, reloj, 113
TV, conexión, 97

u
USR, función, 127

v

VAL, función, 128

Variables
cadenas (8), 95-108, 112
‘dimension, 98-10, 113
enteras, 98-103, 112
uméricas, 85-103, 112
Punto fotante, 98103, 113
Tablas, 95-100, 113

VERIFY, comando, 117

Vaz, 8000, 160163

w
AIT, comando, 125
z

280,0, 108

GUIA RAPIDA DE LAS INSTRUCCIONES DEL COMMODORE 640.