module main_module org 8000h.start call init call main call terminate ret.init ld a, (5c8dh) ld...

Post on 27-Jan-2016

239 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MODULE main_moduleORG 8000h.start

call init

call main

call terminate

ret

.init ld a, (5C8Dh)

ld (screen_color),a ld a, (5C48h)

ld (border_color), a ld a, 40h

ld (5C8Dh),a xor a

out (feh),a

call cls

ld a, (tail_length)

add a

ld hl, location_queue.init_loop

ld (hl),ffh inc hldec ajr nz, init_loop

ld hl, hello call len ld (hello_length), a

ld b,5 ld c,5ld d,1ld e,1ret

.cls push hl

ZX Spectrumsinclair

128

Historia

Hardware

Software

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HISTORIAsinclair

En 1980 un joven graduado de Cambridge, Clive Marles

Sinclair, lanzó al mercado un extraño objeto electrónico con la

idea de que cada persona pudiera «construir su propia

computadora de forma simple y barata en casa» .

Dicho kit consistía en una serie de componentes electrónicos

baratos, y por casi 80 libras esterlinas, podía obtenerse un

microprocesador completo de índole doméstica que se

denominó Sinclair ZX80.

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

Destacaba la posibilidad de conectarlo a un televisor normal, un

teclado tipo QWERTY, conectarlo a un cassette, y el lenguaje

BASIC integrado de fabrica como intérprete.

Poseía tan sólo 1KB de memoria RAM y carecía de gráficos,

colores y sonido. A pesar de ello, la reacción de la gente fue

sorprendente , comenzando a surgir libros, revistas y

programas para la pequeña maquina.

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

Sinclair fundo Sinclair Research Ltd desde su vieja empresa,

Sinclair Computers. A partir del ZX80 comenzaron a surgir

nuevos modelos: ZX81, ZX-Spectrum, ZX-Spectrum 48… pero

nos vamos a centrar en el ZX-Spectrum 128K.

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

Spectrum 128k

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

El Spectrum 128K fue el tercer modelo de Spectrum fabricado

en España por Investrónica, distribuidora oficial de Sinclair

Research. El desarrollo conjunto se realizó en la sede española,

y es por ellos que en 1985 aparece primero es España.

El ordenador salió a la venta en 1985, presentándose en la

feria informática SIMO. Una vez saliera en España llegaría a

Reino Unido y otros países de Europa debido al exceso de

unidades de modelos anteriores, decidiendo esperar a la venta

absoluta de dichos modelos.

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

El aspecto externo del ZX Spectrum 128 era muy similar al del

ZX Spectrum +, sólo que añadía una rejilla en la zona derecha.

Las diferencias esenciales respecto a los primeros modelos

fueron, un aumento de la memoria RAM (de 48 Kb a 128 KB) y

de la memoria ROM (hasta 32 KB).

Otra de las novedades fue la incorporación de un chip mas

moderno (Yamaha AY-3-8912, que incorpora tres canales de

sonido) y la salida MIDI, lo que hizo aumentar las posibilidades

sonoras del Spectrum,

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

Además, añadía una salida para monitor y siendo la

compatibilidad para los juegos mucho mas alta respecto a los

modelos anteriores.

Por todo ello, el Spectrum 128K fue el mejor modelo de la

compañía. No obstante, al llegar a Reino Unido Sinclair

Research estaba ya sumida en una profunda crisis económica.

Todo ello obligo a Sir Clive Sinclair a vender la compañía, por lo

que este modelo fue el último producido por la empresa del

mismo.

ret

.enqueue_positionpush afpush hlpush bc Set hl to point last item in

queueld a, (tail_length) add a, a

ld hl, location_queue push hlld b, 00h

ld c, aadd hl, bc dec hl dec hl

.enqueue_position_loop push afld a, (hl) inc hl inc hlld (hl), a dec hl dec hldec hlpop afdec a jr nz, enqueue_position_loop

pop hl pop bc ld (hl), binc hlld (hl), cpop hlpop afret

.clearstrpush bc

HISTORIAsinclair

La sencilla arquitectura del Spectrum hizo que fuese un ordenador

relativamente fácil de clonar.

Entre los clones mas destacados están:

-TK90X, TK95

-LAMBDA 8300

-PENTAGON

-SCORPION ZS-256

-TIMEX SINCLAIR 2068

Aunque el único clon autorizado fue el TIMEX SINCLAIR 2068, distribuido

principalmente en los Estados Unidos.

call sleep call getkey

and 01h

jr nz, main ret

.setcolorpush afld a, (current_color) cp 07h

jr nz, setcolor_continueld a, 01h

.setcolor_continueinc a

ld (current_color), ald a, 10h

rst 10h

ld a, (current_color)rst 10h

pop af

ret

.printstrpush hl push de ld ix, printstr_nextchar call printbase

pop depop hl ret

.printstr_nextchar ld a,(hl) ret

.fillstrpush hl push de ld ix, fillstr_nextchar call printbase

ZX Spectrumsinclair

128

Historia

Hardware

Software

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

El hardware fue diseñado por Richard Altwasser.

El Spectrum ZX Sinclair tenía un teclado de caucho integrado en

el ordenador en el modelo de 16 kB y en la primera versión de

48 kB. El teclado de caucho original oprimía dos membranas (el

del ZX Spectrum Plus tenía 4) con pistas conductoras que

servían para detectar la presión.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

El sistema de almacenamiento era en cinta casete de audio

común. Se accedía a los datos a una velocidad de 1.500 bit/s de

media. Había juegos que usaban su propio sistema de carga,

denominado "turbo", aunque ligeramente más propensos a

producir errores de carga. Como periférico adicional, a partir

del año 1983 Sinclair puso a la venta el ZX Interface 1 al que se

le podían conectar hasta ocho unidades de cinta rápida,

llamadas microdrive.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

Posteriormente se desarrolló una nueva carcasa, que consistía

en un teclado mejorado con teclas duras y 4 capas de

membrana,y la carcasa más profesional con el nombre ZX

Spectrum Plus. Este desarrollo también se vendió como

actualización y solía incluirse junto con una ampliación de

memoria para los Spectrum de 16 kB, que añadía un botón de

reset y una mejor ventilación.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

El modelo de 128K podía funcionar en modo 48 KB o 128 KB.

Incorporaba un chip de sonido AY-3-8912, un pequeño teclado

numérico anexo pero independiente y un editor de textos

integrado en el sistema operativo firmware.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

En los juegos, especialmente cuando se ejecutaban en el modo

128, se podía disponer de las mejoras del modelo. En el modo

de 48 kB únicamente el mapeado de memoria estaba

inhabilitado, por lo que el chip AY-3-8912 se podía seguir

utilizando, no así la memoria adicional.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

A diferencia del Spectrum+, el Spectrum 128 aporta novedades

hardware con respecto al modelo original.

• Cuenta con memoria adicional

• Incorpora salidas para monitor, RS232 y MIDI.

• Incluye un nuevo chip para sonido.

• Además de un modo compatible 48K cuenta con 16K

adicionales de ROM, con el BASIC 128 que incorpora nuevas

funciones. Fue el último "ZX" comercializado antes de que

Amstrad adquiriera la compañía Sinclair.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

Para su funcionamiento, además de un televisor con entrada de

antena, es imprescindible para utilizar un ZX Spectrum:

• La unidad principal.

• Una fuente de alimentación.

• Un cable coaxial para conectar la salida de la parte trasera

del Spectrum etiquetada como "TV" a la entrada de antena

del televisor.

push bcpush decall 0dafh pop depop bcpop hlret

.len

push hlpush bcld c, 00h

.len_loopld a, (hl) and a jr z, len_exit inc c inc hl

jr len_loop .len_exit

ld a, c pop bcpop hlret

.terminate ld a, (screen_color) ld (5C8Dh),a

ld a, (border_color) ld (5C48h),a

dec a

out (feh),a

call cls

ret

.main

call setcolorcall printstrcall pingpongcall clearstr

HARDWAREsinclair

Existían también otros periféricos.

• El ZX INTERFACE 1 (Conexión múltiples MicroDrives)

• El ZX INTERFACE 2 (Conexión joysticks)

• El KEMPSTON INTERFACE (Conexión joysticks)

• EL ZX PRINTER

• TRICKSTICK, MICRO-COMMANDUN o el STACK LIGHT RIFLE.

pop de pop hl ret

.fillstr_nextchar ld a, (hl)

and a

ret z

ld a, (fill_char) .fillstr_nextchar_end

ret

.printbase

push afpush deld a,16h rst 10hld a,crst 10hld a,brst 10hpop afpush hlld de, printstr_testnull

.printstr_looppush de

jp (ix)

.printstr_testnull

and a

jr z, printstr_end

push af

rst 10h

pop afinc hl

jr printstr_loop

.printstr_endpop de

pop hl

ret

ZX Spectrumsinclair

128

Historia

Hardware

Software

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

• Biblioteca de titulos

• Distribucion

• Adopción

• Evolucion

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

Biblioteca de titulos

• Implementación de lenguajes

• Ensambladores

• Videojuegos

• Ofimática

• Aplicaciones gráficas

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

HiSoft C

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

Micro-PROLOG

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

HiSoft DevPac

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

BetaBASIC

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

Renegade (Beat’em’up)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

The Great Escape (Aventura grafica)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

Swords & Sorcery (RPG)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

WEC LeMans (Conduccion)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

Psytron (Estrategia)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

R-type (Shoot’em’up)

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

TasWord

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

VU-Calc

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

OCP Advanced Art Studio

.pingpongcall enqueue_position Perform vertical ping-pong ld a, c cp 21 call z, pingpong_swapy and a call z, pingpong_swapyadd eld c, aPerform horizontal ping-pong ld a,bpush hl ld hl, hello_length add a,(hl) pop hlcp 32 call z, pingpong_swapx ld a,band a call z, pingpong_swapxadd dld b,aret

.pingpong_swapypush afxor asub eld e, apop afret

.pingpong_swapxpush afxor asub dld d, apop af

softwaresinclair

VU-3D

push de push hl ld a,(tail_length) add ald hl, location_queue ld b, 00hld c, aadd hl, bc dec hl dec hl

ld a, (hl) cp 0ffh jr z, clearstr_exit ld b, a inc hl ld c, (hl)

pop hl call fillstr

push hl.clearstr_exit

pop hlpop depop bcret

.sleeppush hlpush afld hl,(sleep_delay)

.sleep_loop call getkey

and 01h

jr z, sleep_exit dec hl ld a, l and ajr nz, sleep_loop ld a, h

softwaresinclair

Distribución

• Cinta casete

• ZX Microdrive

• Rotronics Wafadrive

• Floppy Disk

• Otros medios

push de push hl ld a,(tail_length) add ald hl, location_queue ld b, 00hld c, aadd hl, bc dec hl dec hl

ld a, (hl) cp 0ffh jr z, clearstr_exit ld b, a inc hl ld c, (hl)

pop hl call fillstr

push hl.clearstr_exit

pop hlpop depop bcret

.sleeppush hlpush afld hl,(sleep_delay)

.sleep_loop call getkey

and 01h

jr z, sleep_exit dec hl ld a, l and ajr nz, sleep_loop ld a, h

softwaresinclair

Cinta de Casete

push de push hl ld a,(tail_length) add ald hl, location_queue ld b, 00hld c, aadd hl, bc dec hl dec hl

ld a, (hl) cp 0ffh jr z, clearstr_exit ld b, a inc hl ld c, (hl)

pop hl call fillstr

push hl.clearstr_exit

pop hlpop depop bcret

.sleeppush hlpush afld hl,(sleep_delay)

.sleep_loop call getkey

and 01h

jr z, sleep_exit dec hl ld a, l and ajr nz, sleep_loop ld a, h

softwaresinclair

ZX MicroDrive

Ventajas• Sistema de almacenamiento masivo 85 kb

• Velocidad de transferencia 15 kb/s

• Bajo coste

• Menor tamaño que cintas cassette

push de push hl ld a,(tail_length) add ald hl, location_queue ld b, 00hld c, aadd hl, bc dec hl dec hl

ld a, (hl) cp 0ffh jr z, clearstr_exit ld b, a inc hl ld c, (hl)

pop hl call fillstr

push hl.clearstr_exit

pop hlpop depop bcret

.sleeppush hlpush afld hl,(sleep_delay)

.sleep_loop call getkey

and 01h

jr z, sleep_exit dec hl ld a, l and ajr nz, sleep_loop ld a, h

softwaresinclair

Rotronics Wafadrive

Ventajas• Dos unidades de cinta continua

• 2 velocidades: alta, busqueda secuencial y baja, lectura/ grabacion

• Capacidad: 16 kiB, 64 KiB o 128 KiB.

Floppy Disk

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Adopción

El Sinclair ZX Spectrum fue un ordenador de 8 bits fabricado por

la compañía británica Sinclair Research y lanzado al mercado

el 23 de abril de 1982.

El Sinclair ZX Spectrum fue uno de los microordenadores

domésticos más populares de los años 1980.

Su optimizado y compacto diseño hizo las delicias de miles de

aficionados a la informática y los videojuegos.

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Diferencias entre Spectrum 128k y Spectrum 128k+3

ZX Spectrum 128 +3 tenia unidad de disquete de 3" incorporada

en la misma carcasa del ordenador. Este modelo recuperaba el

tradicional color negro. Incluía también una mejora del BASIC,

el +3BASIC. La compañía Digital Research desarrolló y

comercializó una versión del sistema operativo CP/M para el +3.

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Ventas

Se vendieron más de dos millones de unidades del Spectrum

128k, a un precio de 87.000 pesetas, varias veces mas barato

que el modelo equiparable de IBM.

Cerro sus balances con un beneficio bruto de 3.000 millones de

pesetas.

softwaresinclair

Evolución

Otros fiascos serios y muy costosos fueron el TV80 (un televisor

en miniatura) y el C5 (un vehículo eléctrico monoplaza).Tras

estos fracasos y pese a las buenas ventas del Spectrum 128,

Sinclair llegó a una situación financiera insostenible.

softwaresinclair

Evolución

La solución fue vender los derechos de fabricación, distribución

y venta de todos sus productos a su competidora directa

Amstrad Consumer Electronics por 5 millones de libras, la cual

compró además el logo, que siguió usando en los modelos que

vendrían después. Así pues, Amstrad se hacía por fin con una

gran parte del pastel (el mercado de los 8 bits), algo que había

intentado con su CPC 464 durante largo tiempo sin conseguirlo.

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Evolución

Paralelamente al desarrollo del Spectrum, Sinclair Research

llevó a cabo otros proyectos que comercialmente resultaron ser

un fracaso. Un ejemplo de ello fue el QL, un ordenador

enfocado al ámbito profesional que no encontró su sitio en el

mercado.

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Evolución

Era una máquina con muchas posibilidades, tenía un buen

sistema operativo y era potente, pero al principio se produjeron

errores de fabricación y distribución que crearon desconfianza

en los usuarios. Además, el sistema de almacenamiento elegido

fue el microdrive, poco fiable y más lento que el diskette. Pero

sobretodo, no hubo un soporte sólido por parte de los

desarrolladores de software.

and ajr nz, sleep_loop

.sleep_exit

pop afpop hlret

.getkeyld a, 7fhin a, (feh )ret

.screen_color defb 00h

.border_color defb 00h

.sleep_delay defw 0cffh

.fill_char defm " "

.hello defm "Hello, World!" & 00h

.hello_length defb 00h

.tail_length defb 0ah

.current_color defb 01h

.location_queue

softwaresinclair

Comunidad

En la actualidad hay paginas web de los seguidores del

spectrum 128k:

http://www.museo8bits.com/spec128.htm

http://www.worldofspectrum.org/

http://www.zxspectrum.net/

http://www.elmundodelspectrum.com/

Campaña publicitaria:

http://www.youtube.com/watch?v=esAZ4h3liDg

top related