Hace 5 años | Por Suigetsu a twobithistory.org
Publicado hace 5 años por Suigetsu a twobithistory.org

Aprender informática en los años 80 no era como ahora, antes no habían capas de software que te abstraían el código, las revistas venían con el código de juegos publicados. Era aprender a base de prueba y error un nuevo mundo que empezaba a despegar.

Comentarios

m

#5: ¿Era por la Y y la Z? lol

frankiegth

#7. No tenía ni idea de los orígenes tan originales del lenguaje Logo. Nada menos que una tortuga robótica.

D

#6 si es que #2 no lo reconoce, pero es un yogurín

skaworld

#30 #6 Que no os engañe mi juventud, la ranciedad es un estado de ánimo

jucargarma

#6 ¿Y cómo te crees que se han ganado muchos puestos de trabajo? Pues con el (un) francés en la entrevista.

X

#84 antes era así ahora hay que ser más creativo y conocer más idiomas.

X

#6 A mi me vino muy bien aprender francés, por mí trabajo y viajes a visitar a la familia francesa. Pero cuando me cambiaron por narices al inglés lo pasé mal todo el curso , yo era el rarito. Cuando empecé a programar cositas en Basic y Logo años después me pasó lo mismo porque nadie estudiaba eso lol

D

#6 A mí que España era una democracia orgánica (el órgano debía ser los cojones de Paquito)

Shotokax

Mi primer contacto con la informática fue Basic en IBM en el colegio, pero como actividad extraescolar (el mío era menos pijo que el de #2 ). Ya nos acercamos a las tres décadas desde aquello. 😅

skaworld

#8 Te apuesto lo que quieras a que en tus actividades extraescolares se aprendia mas que en mi asignatura de informática (repito, al pobre curilla lo pusieron a dar eso y no sabía hacer la O con un canuto).

skaworld

#11 Lo dicho, ya miraste más que nosotros, de lo que recuerdo de esas clases es que el tipo venía con un chorizo apuntado en un papel, lo escribía en la pizarra, lo copiábamos como burros en el ordenata, darle a RUN y ver la tortuguita correr. No explicaba absolutamente nada (el pobre hombre tampoco lo sabía a saber de donde se copiaba los ejercicios) y copiabamos como papagallos veiamos correr la tortuguita por la pantalla y ale a casa.

Una puta mierda, por esa misma época tenia mi flamante spectrum y ya cacharreaba con código (sin tener ni puta idea, como anécdota te diré que hasta bien entrados los 13-14 pensaba que GOTO iba todo junto lol ) por lo que toda la clase me resultaba muy absurda

Shotokax

#13 ahora que recuerdo, ¡yo también jugué con el "goto" en la clase!, pero muy poca cosa. Ya ni me acordaba.

D

#11 creo que te equivocas, los juegos de amstrad serían en código máquina

Shotokax

#17 el Amstrad que yo tenía solo tenía un intérprete de Basic en ROM. Nada más. No tenía un sistema operativo como tal. Para almacenamiento solo tenía una unidad de cinta magnética en la que podías grabar código en Basic y cargarlo en memoria. No había máquina por ningún lado (a nivel de usuario, claro).

D

#20 Ya, pero los juegos, por ejemplo el manic miner, estaba programado en código máquina. Fíjate, aquí lo tienes desensamblado: https://www.seasip.info/Jsw/manic.mac Probablemente usaban un pequeño cargador (loader) en basic para ejecutar el código máquina.

Shotokax

#28 concretamente el Manic Miner no lo puedo confirmar, pero todos los que miré, hacías un "list" (creo recordar que ese era el comando para sacar por pantalla el código cargado en RAM) y salía código en Basic.

Shotokax

#29 es obvio que lo que hay debajo de cualquier ordenador es código máquina, pero no sabía que se podía cargar código máquina en el Amstrad utilizando la unidad de cinta con el software que hay en ROM. Todos los juegos que miré eran Basic, pero no recuerdo si miré el Manic Miner. Puede que ese fuera como dice #28.

D

#44 claro que se usa código máquina, el básic no permite hacer juegos completos

D

#44 Es que te estás confundiendo, porque todos los juegos comerciales estaban programados en código máquina, y no podías ejecutar el comando list y obtener el listado del código, simplemente porque se autoejecutaban en el mismo momento que se cargaban. Además, con el interprete basic tal y como venía no hubieran podido hacer nunca juegos como el manic miner o similares, al menos no tan bien programados.

Shotokax

#51 yo tenía cintas de juegos comerciales en los que hacía "list" y salía un código perfectamente legible, así que eso que dices no es verdad. Otra cosa es que los juegos más sofisticados estuvieran en máquina y no se pudiera hacer eso; hasta ese nivel de detalle ya nunca llegué. Pensaba que no se podía, pero seguramente me equivoqué.

D

#55 No serían juegos comerciales, porque los juegos comerciales se autoejecutaban al cargar, y no tenías una forma de parar el juego para poder ejecutar comandos. Serían juegos simples en basic, que primero ejecutabas con el comando run.

Shotokax

#60 sí eran comerciales porque venían en cintas con su portada y demás. Eran simples y eran en Basic, pero eran comerciales porque se vendían.

D

#63 A ver, de qué Amstrad estás hablando y qué juegos eran, porque en basic no se podía hacer gran cosa, era muy lento y muy limitado. En todo caso quizás podían hacer algunas partes en basic, y el resto en código máquina. ¿Cómo detenías el juego para luego ejecutar comandos? ¿Cómo lanzabas el juego?

Shotokax

#68 Amstrad CPC 464. No me acuerdo de cómo se detenía, creo que era pulsando Esc, pero hace unos 25 años de esto y no me acuerdo. Seguramente sea como dices, que tuviera un cargador o algo así en Basic y el resto fuera máquina. Yo siempre pensé que era todo en Basic porque los juegos eran muy simples, tipo Gorilla y demás, pero nunca me puse a comprobarlo.

D

#69 Efectívamente, ese código en basic que veías al hacer list solo era el cargador del código máquina. En basic solo se podían hacer juegos muy malos y simplones, los comerciales estaban todos en código máquina, que era donde exprimían el potencial del computador.

Shotokax

#65 entonces me callo. Seguramente tenga razón #60 entonces.

En mi defensa decir que yo le daba al "list" y salían líneas de código por un tubo y no eran iguales en todos los juegos.

F

#17 #60 #66 Había juegos que sí que estaban programados en Basic. Algunos del pack que venía con el ordenador, programados por Amsoft eran en Basic (con alguna rutina en código máquina) y se podían detener pulsando dos veces la tecla ESC (en algunos no siempre, sólo en determinados momentos), por ejemplo: Amsdraw II (bueno, esto era más bien un programa de dibujo), Almirante Graf Spee (bélico), Fruit Machine (máquina tragaperras), Plaga Galáctica (tipo Galaxians) y Sultan's Maze (este era 100% en Basic... y en 3D).

Con el tiempo, intercambiando juegos con amiguetes me dejaron uno que estaba bastante bien, tipo rompecabezas que se llamaba Averno. Todo era Basic salvo el dibujado de 'sprites' que era CM. Los mapeos de los niveles estaban en líneas DATA que podías cambiar y hacerlos a tu bola.

Los programas tipo 'copión', que permitían copiar juegos de los que cargaban por bloques de una cinta a otra, simplemente, leyendo algunos bloques hasta llenar el 'buffer' de memoria y volcando estos luego a la cinta de destino (había que hacer varias tandas para copiar la mayoría de juegos de este tipo) eran en Basic. Llegué a modificar alguno y descubrí que el único bloque que tenía que ser estrictamente de 2 KB era el primero, el segundo y los sucesivos se podían grabar en un bloque tan largo como pudiera caber en la memoria (algo así como la carga turbo). El problema de hacer esto era que si ocurría un Read error A o B tenías que rebobinar y volver a cargar el bloque 2 enterito.

D

#55 Lo que yo recuerdo es que desde el intérprete de basic podías cargar sólo programas en basic autoejecutables. Con lo que todos los juegos comerciales empezaban con un pequeño programa basic de unas decenas de líneas que lo único que hacía era, por este orden, cargar la pantalla de carga y luego cargar el juego en sí que venía en un bloque de código máquina. Y tras cargarlo en RAM, lo ejecutaban.
Lo que tú verías con el List es este pequeño programa cargador inicial.

Las revistas de la época publicaban trampas en forma de POKEs que se ponían en este cargador: después de haber cargado el código máquina, pero antes de ejecutarlo, alteraban algunas direcciones de memoria para estas trampas con la instrucción POKE.

ochoceros

#65 #55 #51 En los Amstrad CPC lo normal era que el cargador del software comercial viniese en Locomotive Basic y, para ocultar el código (o partes) de dicho cargador se usasen instrucciones POKE para asignar valores en direcciones de memoria, así como instrucciones PEEK para recuperar valores de memoria. No era complicado hacer que sólo se pudiesen listar las n primeras líneas del programa. Y de esa manera había valientes que lograban "descifrar" el cargador en Basic, cargar el programa en memoria y, antes de ejecutarlo con el CALL a la dirección de memoria determinada, alterar valores en memoria del juego para tener vidas infinitas, más puntuación de inicio, empezar en niveles distintos, incluso cambiar cadenas de texto dentro de los juegos. Sólo hacían falta conocimientos de ensamblador de Z80 y el software apropiado.

D

#20 te equivocas. Todos los ordenadores se pueden programar con código maquina. El manic miner fue de los primeros en usar código maquina

D

#20 Había algunos en Basic pero eran super cutres ( en plan el gorila.bas y eso ) , y era imposible programar nada decente, los hombres de verdad (y todo el mundo la verdad) usábamos ensamblador

Shotokax

#48 todos los que vi eran muy cutres salvo el Manic Miner. Seguramente por eso no sabía lo del lenguaje máquina.

Me regalaron uno que era de un niño con un martillo en lo alto de un muro que daba hostias a los que se subían a la pared y la caja era muy bonita, pero el juego era un truño.

D

#20 "No tenía un sistema operativo como tal"

Ein? ¿un ordenador sin sistema operativo?

Has oído hablar del CP/M?

Shotokax

#78 el que yo tenía, que era el CPC 464, tenía un sistema que se llamaba "AmsDos" por lo que parece:

https://en.wikipedia.org/wiki/AMSDOS

Me refería a que no era un sistema operativo como los de hoy en día, sino un intérprete de Basic básicamente que servía principalmente para cargar programas desde la cinta. No tenía nada más.

D

#91 Yo tenía el CPC 6128 y tenía CP/M

Todos los ordenadores tienen sistema operativo y esos lo llevaban en ROM. Si no es imposible ni siquiera tener el teclado presente cuando enciendes el ordenador.

Claro, que no eran tan sofisticados como los de ahora pero daban soporte y prestaciones para hacer lo básico. Cargar la página de códigos del teclado, arrancar un disco, leer la cinta, etc.

Shotokax

#95 no todos. Si no tienen sistema operativo se llaman máquina desnuda, aunque no es el caso de los Amstrad, ya lo sé.

Como he comentado, me refería a que no era un sistema como los de hoy en día a nivel de interfaz de usuario. No tenía un intérprete de comandos propio siquiera, sino solo uno de Basic.

pawer13

#95 El sistema operativo era poco más que una BIOS (Basic Input Output System). Yo tuve juegos de disco en que se autoarrancaban (incluían todo en el juego, no se usaba sistema operativo porque era innecesario al no guardarse las partidas).

Era muy sencillo escribir unas pocas interrupciones en el sistema para manejar el teclado cuando éste se conectaba por un puerto dedicado (en los PC antes del PS/2) o directamente estaba integrado (tipo CPC o Spectrum) y no había tarjeta gráfica como tal (escribías directamente en memoria) ni mucho menos de sonido (usabas el internal speaker).

https://es.wikipedia.org/wiki/PC_booter

Otro ejemplo de este tipo de programas era el LocoScript, un procesador de textos bastante avanzado para la época que se ejecutaba con un disco de 3 pulgadas (no de 3 y 1/2) en los Amstrad PCW.

https://es.wikipedia.org/wiki/LocoScript

frankiegth

#17. Si en algo destacaban los Amstrad CPC era en la calidad y posibilidades de su interprete Basic. Seguro que podian hacerse en Basic juegos bastante decentes para esas máquinas de 8 bits. Hay demos actuales para Amstrad CPC en Youtube que te dejan con la boca abierta, una lástima que se desaprovechara tanto ese ordenador con demasiadas conversiones de juegos de dudosa calidad copy-paste de las versiones de ZX Spectrum y MSX. (CC #11)

frankiegth

#130. Aquí una reconocida demo de 2011 para Amstrad CPC :

(CC #17 #11)

tarkovsky

#8 A mí tambien me “enseñaron” Basic en 6º de EGB, pero mi colegio era menos pijo que el tuyo. Escribíamos subrutinas a boli, mirando lo que ponía el profe en la pizarra. No es coña. Lo del ordenador lo dejaban ya para cuando fueramos mayores 😂

D

#14 Pues así me enseñaron ensamblador. A boli.

D

#49 #57 #81 A mí me regalaron este MSX en las Navidades del 85, justo antes de que España entrara en la CEE y se instaurara el IVA (del 12%).

https://es.m.wikipedia.org/wiki/VG-8020

Aprendí mucho, hacía dibujos y pequeños juegos simples, y seguramente fue la razón por la que años más tarde estudiara ingeniería de telecomunicaciones.

PD: fui el primero o segundo en tener un MSX en mi edificio (108 vecinos), y al final terminamos siendo cerca de 20. Había un tráfico de juegos de la leche.

Conde_Lito

#8 Yo empecé con LOGO y su tortuga...

Conde_Lito

#15 Probablemente diría eso de coña para que no tirarais ahí las mochilas, encima de los cables de red.
Se quiso hacer la graciosa y le salió el tiro por la culata.

gontxa

#50 igual sí, pero el recuerdo que tengo de ella es que era una mujer bastante parca en sonrisas. Ahora sería un insulto muy muy machista y heteropatriarcal pero se la conocía como "la malfollá" lol

i

#15 Si aprietas un poco pasan sólo los 1 porque son más delgaditos que los 0

Conde_Lito

#2 Peor fue una profesora mía y ya eramos mayores cuando le dio a un compañero de clase un "desbordamiento de pila"...
La tía se empezó a poner muy nerviosa, incluso apagó el ordenador del enchufe, así a la brava, ni cerrar Windows ni hostias, diciendo que podía explotar la pila, la pila normalita que lleva un ordenador para guardar la configuración de la BIOS, ni siquiera era de aquellas recargables, era la típica pila de botón de 3 Voltios (CR2032)
De la misma sacó un destornillador de un cajón y me mandó abrir el ordenador y si la podía sacar también la pila.

Nos quedamos a cuadros, en un principio pensamos que nos estaba tomando el pelo, pero que va se había tragado el bulo/broma del desbordamiento de pila que habíamos oído desde hace años.
Lo segundo que dijimos entre risas ¿y esta es la que nos va a dar clase y evaluar los exámenes?

Lógicamente esto se esparció como la pólvora por todo el colegio, hasta el profesorado se descojonaba de ella, incluso años despues los profesores siguen contando la anécdota cuando hablan de la profesora esta con alguien que no la conoce.

dark_soul

#2 A mi me dieron clases con un Dragon. Parece que eran mejores que lo que teníais vosotros lol. No explotaban al desconectarlas.

f

#2 Mi primer contacto con la informática también fue en EGB, y también en colegio de curas (Dominicos). A diferencia que a ti, a nosotros nos daba la asignatura el profesor de matemáticas, Tomás, que es el segundo mejor profesor que he tenido en mi vida (al que le debo sacar un 10 en selectividad en matemáticas, y haber aprobado las asignaturas de matemáticas de primero de informática con la gorra y con 0 esfuerzo). Era un crack. Los ordenadores, pues te puedes imaginar, unos 8088, con su monitor fósforo verde. Nos dio primero logo y al año siguiente ya BASIC. Yo en casa no tenía ordenador, así que tenía que tirar con los del cole. Y oye, me dedico a la informática desde entonces, y mal no me va, y todo se lo debo a él.

#4 Mechero, dice. Aquí frotábamos palitos...

Liet_Kynes

#10 Palitos dice. Aquí esperábamos que cayera un rayo

nomada_isleño

#45 Doc Brown seal of approval...

D

#4 yo programaba con mariposas que perturbaban la atmósfera para dirigir las ondas electromagnéticas del sol hacia un disco donde se grababa un programa cojonudo.

Joice

#4 Todo eso me recuerda cuando bobinaba toroides de ferrita a mano para pagarme los estudios.

tiopio

#3 JR NZ

D

#12 Te falta la distancia de salto.

squanchy

#3 ¿No lo hacías en binario? Menudo suertudo.

D

#3 Tenías que haber visto programar con tarjetas perforadas ...


¡Nah! Eso es lo que me decían mis profes en la Uni.

Conde_Lito

#56 Anda que no me hubiera gustado..., pero llegué al mundo de la informática y la electrónica unos 30 años tarde.

Conde_Lito

#3 Prefiero hacerlo como los hombres de verdad, en código máquina, en binario puro y duro.

Que conste que en electrónica para algunas cosas es mejor programar en binario ya que al menos yo lo veo más claro. Sobre todo cuando quieres programar como si se tratara de un autómata o similar.
El problema empieza cuando quieres que el procesador te haga determinadas operaciones y es mejor pasarse al ensamblador, más que nada porque meter una instrucción en binario es un coñazo.

D

#3 push hl

D

#16 #21 Yo aprendía BASIC en un MSX en el 84.

D

#49

Xtampa2

#16 #49 Otro más con MSX en los 80 (tendría que mirar la factura de compra para saber el año concreto).

Y pardillo de mi no sabía ni que había que darle al Enter para que el programa quedara registrado en memoria. Cambiaba de línea con los cursores, y claro, a la hora de ejecutarlo no funcionaba nada clap

D

#21 Joder, que nivel, yo sólo jugaba y a veces metía algún poke de esos de las revistas...

D

#74 Con esos POKE hice la música y lo de la "R" invertida

D

#76 Yo conseguía vidas infinitas en los juegos, tooomaaaa!!!!

D

#79 Yo iba a una papelería del barrio a comprar cassetes con juegos pirateados

barcelonauta

#74 poke -1,170: el abrelatas universal para los juegos de Konami en cinta (y cualquier otra 'copia de seguridad') que no cargaban por las buenas.

D

Con un MSX. Así empecé yo.

D

#16 dudo que hubiera habido ningún basic más potente y que te permitiera más flipadas que el Basic que llevaban los MSX2 para arriba... lástima que fuera lento como su puta madre.

Bueno... exceptuando quizás un Basic acojonante que una vez vi para Commodore Amiga.

lasarux

#19 Creo que era el Blitz Basic:

D

#19 En Amiga sacaron un tal Blitz Basic que era cojonudo.

ampos

#31 Que también tienes para Windows, que desde hace unos pocos años es libre, y si quieres mirar, GLBasic, que ya es la hostia (el mismo fuente compila para Win, Mac, Linux, iOS, Android, HTML5 y un puñao de mierdecitas más...)

D

#16 Yo también, en éste!!!
https://www.msx.org/wiki/images/2/2e/Sony_HB-20P.jpg
Todavía lo tengo guardado, y funciona perfectamente.

D

#71 Yo solo tengo el libro con el que aprendí BASIC. Mi MSX Toshiba ni idea de dónde acabó cry

Conde_Lito

#16 Idem, tirado en el suelo de mi habitación con un libraco bien gordo que creo que además venía con ese mismo MSX.

tiopio

GOTO 1548…

Conde_Lito

#1 En el culo te la entocho

Am_Shaegar

#1 La época en la que hablábamos de "gotos" y no de "goutúus".

D

#58 o basic y no beisic.

😬

ampos

#80 Recuerdo al profe de informatica (1986), un día: "me ha dicho la de inglés que pronuncieis bien, el Goutu, que luego se os queda mal aprendido..."

No dejamos de decir "goto", pero en cambio, siempre he dicho baisic...

D

#80 beisec

p

¿Alguien más modificó el Gorillas en Basic?

elmike

#34 Presente!
Pd: qbasic

D

#34 aquí otro

mmo_tuiter

#34 Y el Nibbles!!!!

D

#34 Yo hice una versión con personajes de star wars y rayos láser (¡de trayectoria parabolica!) en vez de platanos. El escenario, con bloques de altura aleatoria, imitaba la superficie de la Estrella de la Muerte. Con Visual Basic 3 (en PC).

D

Pues que sepáis que yo no tuve clases de informática porque el ENIAC no nos le dejaban traer a clase

offler

Yo me acuerdo que jugábamos a juegos de Sierra y cuando nos quedábamos atascados, usábamos un programa que mostraba en ensamblador y Ascii (El PCTools?) el código ... en el Ascii casi todo eran símbolos, pero igual encontrabas una cadena que decía "cuchillo, alfiler, patata" ... así que decíamos "necesitamos encontrar la patata !!!"

Por otro lado si que recuerdo haber ido con el cole a Andorra y en los Pyrennes escribir un sencillo juego en Basic (basic de C64, con los PEEK y POKE) en un C64 que había de demostración y la gente alucinando.

De tomas formas, decir que tenemos una ventaja con respecto a los que ya han nacido después me parece exagerado.

D

#24 tramposo ...

offler

#33 Lo sé, pero formaba parte del encanto de la época

D

#24 En esos tiempos la gente se compraba las revistas de informática para obtener los pokes para los juegos.

Vidas infinitas para el juego x en la página tal...

Funai

"Aprender informática en los años 80 no era como ahora,.." ... no, en aquellos tiempos y tambien hasta como 10 años mas tarde y todo, la gente tenia ilusion e interes por la informatica, aprender lo que pueda ... todos conocemos a varios que llegaron a ingeniero informatico y todo ...
pero hoy, revelado en que consistia esto en realidad, hay desinteres generalizado, las nuevas generaciones rehuye de estudiar estas cosas ...

Funai

#53 En los 80s, que era chico, iba con familiares a naves mayoristas a comprar productos ... habia alguna que lo llevaba ya informatizado y decian cuando se les quedaba estropeado "el informatico tiene que venir de Sevilla" asustados y Sevilla estaba a 200 km, tenia pinta de que lo ganaba bien y dependia el negocio de el ... es que ahora vas a esas naves y son capaces de que te encuentres todavia las pantallas crt, ordenadores baratos, y la base de datos o una plantilla bajada de softonic y que la lleva el sobrino que "sabe crakear los videojuegos" por ahi va la cosa ...

Peazo_galgo

Uf, que tiempos... Yo aprendí a programar Basic en uno de los Msx que donaron a mi colegio, pero acabé frustrado porque yo quería hacer cosas chulas como juegos y tal y el profe decía que eso era mu complicado, que había que aprender una cosa llamada ensamblador sólo al alcance de universitarios de pelo en hecho... Así que cuando me cansé de preguntar lo de "los gráficos pa cuando" lo deje harto de hacer programillas chorras para calcular la lista de la compra y tal... Eso sí, me hacía ilu grabar los ejercicios en casete y con esa excusa aprovechabamos para cargar algún juego mientras el profe nos dejaba a solas supuestamente programando, Jeje...

raistlinM

#54 En Basic podías hacer algún pinito gráfico, yo los hice en un spectrum, lo que pasa que iba leeeeento a nada que añadieses.

El problema con los profes de informática en los coles en que lo daban es que solía ser uno que se ofrecía voluntario o "el de mates, que algo tiene que ver", y así pasaba....

raistlinM

Yo ahora ando aprendiendo el ensamblador del Spectrum en los pocos ratos que saco lol

Peachembela

¿ninguno aprendió a programar con logo?

ampos

#97 Eso era para bebés.

mefistófeles

Pues yo tuve (tengo) un commodore 64..y no aprendí nada de nada de programación, que para eso ya tenía un amiguete que lo hacía. Yo me dedicaba a pasar los juegos (los suyos y los que pirateaba) a cintas de cassete y venderlos a los compañeros de clase. Junto con el macho y el lib.

Duros años aquellos, muy duros. roll

GW-BASIC 85, así empecé yo.

D

Viejunos, todos.

D

Yo aprendi con una TI-99/4A (la "A" era super importante en aquellos tiempos). Era una puta mierda de computadora, mas lenta que la justicia para los pobres... pero que manuales que tenia! Me devore el de BASIC y para mi gusto mi viejo, encantado con que "aprendiera" tanto, me compro el cartucho de "Extended Basic" apenas se lo pedi. La cantidad de programas que hice con esa maquina era increible... El unico momento en que senti un entusiasmo parecido fue durante los gloriosos tiempos en que el "DIV" (para PCs) estaba en su apogeo. Lastima que el DIV nunca sobrevivio la muerte del DOS, o mejor dicho de los Windows que aun estaban basados en DOS (si no me equivoco, el Windows 98 fue el ultimo que estaba basado en DOS).

Lo que me perdí naciendo en los 90s jajaja...

1 2