module main_module org 8000h.start call init call main call terminate ret.init ld a, (5c8dh) ld...
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