@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED373 FREE SECTORS COPYING---D8:AUTORUNM65l# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 128ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u`c0˭1̠,ȩ`˩D̍L)`3antiagode#hile T}%stimado5suario,osprogramasquevienenenesteladodel$)3+%44%sonlistadosU}en!33%-",%2yseincluyen%30%#)!,-%.4%paraloslectores).4%2%3!$/3enestelenguaje3edeV}bencargarenel-!#con,/!$$./-"2%%84,osprograW}masquetienen%84ensiNn32#sepuedencargartantoenel-!#comoenel%$)4/2!33%-",%2con%.4%2$./-"2%X}%84"ien esperamosquelosinvestigueysitienealgunaduda eY}scrGbanoscontodaconfianza.uestradirecciNnes#!3),,! #orreo#enZ}tral2evista34[}!+ `2evista34EI$X;------------------------------- X; Revista STAK presenta:X;X; MEMORIA VIRTUALX;$"X; ( O ]} ocupando toda la memoria.X; de los XL/XE )8X;BX;L$X; Basado en 'M: a Memory Device'VX; de Bill Wilkins ^}on`X;j"X; Modificacion de Revista STAKtX;~$X;-------------------------------X;X;X;)ICAUX1J;; El byte AUX _}iliar de IOCBX;(OPOUT;; Mode 8 es OPEN for SALIDAX;#PTR.MEM;; Puntero de MemoriaX;STATUSOK;; I/O `}OK!!STATUSEOF;; Fin de ArchivoX;4HATABS;; Tabla de los dispositivos o DRIVERS X;-BUFFER;; Comienzo d a}e la memoria de M:8PORTB;; Controla el acceso a la memoria 'oculta'(X;2X;< X; El comienzo de la pagina 1F!X; ($0 b}100) generalmente es unaPX; zona de memoria bastanteZ X; protegida.... Al menos esodX; esperamos....nX;xX; c}M.OPEN ACTIVA.RAM MOPEN!DESACTIVA.RAMX; M.CLOSE ACTIVA.RAM MCLOSE!DESACTIVA.RAM M.GETB d}ACTIVA.RAM MGETB!DESACTIVA.RAM M.PUTB ACTIVA.RAM" MPUTB,!DESACTIVA.RAM6 M.STATUS@ ACTIVA.RAMJ MS e}TATUST!DESACTIVA.RAM^ M.XIOh M.INITr%>|:$X;-------------------------------X; Activa RAM bajo $A000$X; f}-------------------------------ACTIVA.RAM PBYTE SWITCH.RAM:$X;-------------------------------X; Activ g}a ROM en $A000$X;-------------------------------DESACTIVA.RAM SWITCH.RAM QBYTE:$X;------------------------- h}------ X; Actua como interruptor& X; Si la RAM en $A000 esta0!X; desactivada, la activa y:X; vicever i}sa.D$X;-------------------------------NSWITCH.RAMX QPORTBbN>l PPORTBv:BYTE X;$X;----------------- j}--------------"X; Aqui se ejecuta el programaX; llamado desde BASIC$X;------------------------------- CONECTA k}7 ACTIVA.RAM COMIENZO!DESACTIVA.RAMX;$X;------------------------------- #X; La tabla con las direccione l}s$X; de llamada a las rutinas de M: $X;-------------------------------*X;4 MDRIVER>& M.OPEN;; Las direcciones deb m}enH& M.CLOSE;; ...ser dadas en esteR! M.GETB;; ...orden y deben\% M.PUTB;; ...ser una (1) menosf& M.STATUS n};; ...que la direccionp M.XIO;; ...real!z%!M.INIT;; Por seguridad solamenteX;X; Para muchos dispositivos#X; o}algunas rutinas no se necesi-$X; tan y pueden ser rutinas nulasX; que apunten a un RTS.X;$X;----------------------- p}--------"X; Se supone que esto esta bajo"X; la ROM ocupada por el BASIC!X; por lo que sera necesario X; moverl q}o posteriormente$X; (Revisar archivo MUEVEVIR.M65)$X;------------------------------- X;  COMIENZO$ X;. +$>; r}; Partimos en el inicio de la TABLA8 BUSCANDOB /QHATABS9;; Revisa el nombre del dispositivoL #FENCVACIO;; No mas disposit s}ivosV !R> M;' ; Ya esta instalado M:?` *FMINSTALADO;; Si, no vuelva a instarloj 2t 2~ $2;; Apunta a la siguiente entrada t}#HBUSCANDO;; y continua buscando :;; Vuelve! X; $X; Encontramos el Fin de la Tabla X; a fin de ampliarla con M: X; u} ENCVACIO *Q> M;' ; Nuestro dispositivo llamado M: .PHATABS9;; en el primer byte de la entrada Q>MDRIVER 0PHATAB v}S9;; LSB de la direccion del Driver Q>MDRIVER 0PHATABS9;; MSB de la direccion del Driver Q> ,PHATABS9 w};; Un nuevo fin para la Tabla X;( MINSTALADO2 X;< :F X;P X;Z X;d $X; Si una rutina se omite a causan $X; que es ileg x}al (leer de una im-x $X; presora, etc.), simplemente se #X; apunta a un RTS, ya que el SO X; de Atari precarga Y con un $ y}X; codigo de error de 'Funcion no X; implementada' X; #X;------------------------------ X; "X; Aqui comienza el Codig z}o para X; las rutinas que hacen el X; trabajo X; MOPEN "QICAUX19;; Revisa tipo de OPEN M>OPOUT;; Open para sali {}da +FOPENFORREAD;; No... asume para entrada Q>BUFFER" $PMSTART;; Comenzamos a almacenar, Q>BUFFER;; los bytes6 |} (PMSTART;; the supposed top of mem@ X;J %X; now we join up with mode 4 openT X;^ OPENFORREADh QMSTART;; Mueve el p }}unteror PDIRECCION;; ...de inicio| QMSTART;; ...al puntero !PDIRECCION;; ..de comienzo X; %>STATUSOK :;; O ~}k!! X; X; #X;------------------------------ X; #X;La rutina para CERRAR(CLOSE)M: X; MCLOSE "QICAUX19;; Revisa }tipo de OPEN M>OPOUT;; es para salida? /FMCLREAD;; no... Cierre archivo de entrada! X; QDIRECCION;; Limite superior }& PMSTOP;; ...del archivo para0 (QDIRECCION;; ..que la proxima vez: *PMSTOP;; ...no nos pasemos de largoD X;N MC }LREADX %>STATUSOKb :;; Todo Ok!l X;v X; "X;----------------------------- X; X; Esta rutina pone un byte !X; a la m }emoria para mas tarde X; recuperarlo. X; MPUTB + MUEVE.DIRECCION;; get ptr to zero page ) PONE.BYTE;; put the byte }, indirectly 3 INCR.DIRECCION;; apunta a la proxima direccion :;; Eso es todo! X; #X;------------------------------  }X; !X; Rutina para obtener un byte !X; almacenado antes en memoria X;* MGETB4  MSTATUS;; Hay mas bytes?> EMGETRTS;; } no...errorH + OBTIENE.BYTE;; Si.. vaya a buscar byteR 5 INCR.DIRECCION;; y apunte a la proxima direccion\ MGETRTSf :p  }X;z #X;------------------------------ X; X; Revisa el estado de M: X; y retorna error de fin de X; archivo cuando no }hay mas !X; espacio en la memoria de M: X; X; MSTATUS 6 MUEVE.DIRECCION;; puntero actual a la pagina cero (RMSTOP };; hay mas bytes para obtener? HMSTOK;; si !)MSTOP;; doble comparacion HMSTOK;; si, de nuevo%>STATUSEOF;; Ohhh }hh...;;; no mas bytes:$X;. MSTOK8%>STATUSOK;; Todo esta OkB,;;L:VX;`#X;------------------------------jX };tX; MUEVE.DIRECCION mueve~!X; DIRECCION al puntero en laX; pagina cero, PTR.MEMX;MUEVE.DIRECCIONQDIRECCI }ON PPTR.MEM%DIRECCION'PTR.MEM:X;#X;------------------------------X;X; INCR.DIRECCION increment }a#X; DIRECCION y maneja la memoria X; de almacenamiento de M:$X; El registro Y indica el statusX;(X;2X;<INCR. }DIRECCIONFQDIRECCIONP FNO.MASZ#DIRECCIONd HOK.DIRn#DIRECCIONxQDIRECCIONR>Ќ HOK.DIRQ>ؠP }DIRECCION OK.DIR%>STATUSOK;; Todo Ok!!: NO.MAS4%>STATUSEOF;;No hay mas espacio para el archivo!:#X;- }-----------------------------X;X;X;#X; DIRECCION contiene el puntero3X; al siguiente byte a ser leido o es }crito"DIRECCION ,X;6#X; MSTOP es definido por CLOSE y@#X; apunta al ultimo byte escritoJ X; a fin de que no pasemos } deTX; largo en la lectura.^ MSTOP hX;r"X; MSTART apunta al primer byte|X; almacenado.X; MSTART X;X; }#X;------------------------------#X; Esta rutina LEE un byte desde X; memoria y lo lleva a M:#X;------------------ }------------X;X;OBTIENE.BYTE=;;No queremosQ>;;interrupciones!PQPORTB;;porque queremosM>;;des }activar la&PPORTB;;ROM del S.O.0%>:Q@PTR.MEM7;;ObtieneDPBYTE;;ByteNQPORTB;;Activamos ROMXL>b PPORTBlQ }>@;;e interrupcio-v P;;nes.:X;$X;-------------------------------X; Esta rutina Guarda byte$X; que fue }pasado a M: y lo alma-X; cena en memoria.$X;-------------------------------X; PONE.BYTE=;;No queremosQ>;;I }nterrupcionesPQPORTB;;Desactiva M>;; ROM del S.O. PPORTB %>*QBYTE;; Guarda BYTE4P@PTR.MEM7;;en Mem }oria> QPORTB;;HL>;; Activa ROMR PPORTB\Q>@;; e interrupcio-f P;; nesp.z:X;da BYTE4P@PTR.MEM7;;en Mem `$X;-------------------------------#X; Rutina para ser utilizada porX; MEMORIA VIRTUAL"X; para MOVER codig}o bajo $A000X;"X; El Codigo debe estar en otra$$X; zona de memoria, y sin embargo.$X; debe estar ensamblada en $A0008}$X;-------------------------------BX;LX; Llamada desde Basic:VX;`%X; U=USR(1536,DESDE,HASTA,CUANTOS)jX;t PORTB}~X;77;;Este punteroP;;apunta a 7;;DESDEP 7;;PunteroP;;apunta 7;;a HASTAP7;;Cantid}ad deP;;Bytes a 7;;Mover PQPORTB;;DesconectaN>;;ROM en $A000( PPORTB2X;<#X;-------------------------}-----F X; Mueve CUANTOS bytes desdePX; DESDE hasta HASTAZ#X;------------------------------dX;n%>x BUCLEQ}@7P@7#Ϡ HSIGUE1#д SIGUE1# HSIGUE2# SIGUE2" HBUCLE" IBUCLE QPORTBN>}" PPORTB,:;;Vuelve al BASICд SIGUE1# HSIGUE2# SIGUE2" HBUCLE" IBUCLE QPORTBN>!$X;------------------------------- X; Revista STAK presenta:X;X; D E M O 3X; X; (o LA}S letras grandes)$X;.X; Por: Rod Rubber 19928X;B$X;-------------------------------LX;VX; Ensamblar con}:`X; ASM,,#D:DEMO3B.OBJjX;tX; Luego Cargar con DOS y~ X; ejecutar desde Basic conX; llamada a la rutina }USR"X; (Ver articulo en Revista 4)X;$X;-------------------------------EICONSOLAMENSAJE.PTRCARA}CTER.PTRLINEA.0.PTRVELOCIDADX; CHAR.SET  U=U=U=U U=U=U=U ===( ==}=2DL< p=p=pF DP LINEA.0Z Dd LINEA.0n Dx LINEA.0 D LINEA.1 D LI}NEA.1 D LINEA.1 D LINEA.2 D LINEA.2 D LINEA.2 D LINEA.3 D L}INEA.3" D, LINEA.36 D@ LINEA.4J DT LINEA.4^ Dh LINEA.4r D| LINEA.5 D }LINEA.5 D LINEA.5 D LINEA.6 D LINEA.6 D LINEA.6 D LINEA.7 D }LINEA.7 D LINEA.7& p0 A: DLDDLIN5XAb5l$>v LOOP.DLI& Ԋ&Д0 HLOOP.DLI7>}79CARACTER.TAB === ===IND.HSCROL  IND.BIT   CAR.AUX  *AUX.ROT 4 }COLOR.TAB> =B===HMENSAJE R LINEA.0.P\ LINEA.00f LINEA.10p LINEA.20z LINEA.30 LINE}A.40 LINEA.50 LINEA.60 LINEA.70 LINEA.0< A A }LINEA.1< A A LINEA.2< A } A LINEA.3< A A LINEA.4 < A } A LINEA.5 < A A$ LINEA.6. < A } A8 LINEA.7B < A AL SA}CAR.CARACTERV "X; SACAR CARACTER DE MENSAJE.` Q>j PIND.BITt %>~ Q@MENSAJE.PTR7 R> HNO.FINAL  SETEA.MENS}AJE !SACAR.CARACTER #X;------------------------------ !X; Toma byte de MENSAJE y lo $X;convierte en CODIGO DE PANTALL}A #X;------------------------------ NO.FINAL M>;; NO INVERSOS R> EMAYOR.31 O>@ HINT.CODE MAYOR.31 R}>`( EINT.CODE2 ;< S> F X;--------------------------P X; Continua con el ProcesoZ X;--------------------------d INT}.CODEn PCARACTER.PTRx #MENSAJE.PTR HSIGA.M.PTR #MENSAJE.PTR SIGA.M.PTR Q> PCARACTER.PTR TCARACTE}R.PTR UCARACTER.PTR TCARACTER.PTR UCARACTER.PTR TCARACTER.PTR UCARACTER.PTR , QCARACTER.PTR }O> PCARACTER.PTR %>" CICLO.M.PTR, Q@CARACTER.PTR76 PCARACTER.TAB8@ 1J ICICLO.M.PTRT :^ CORRER.LINEAh} $>r CICLO.C.L| QLINEA.09 PLINEA.09 QLINEA.19 PLINEA.19 QLINEA.29 PLINEA.29 QLINEA.39 }PLINEA.39 QLINEA.49 PLINEA.49 QLINEA.59 PLINEA.59 QLINEA.69 PLINEA.69 QLINEA.79 PLINEA.7}9 2& (>20 HCICLO.C.L: :D SACAR.BITN $>X CICLO.SACAR.BITb Q>l PCAR.AUXv TCARACTER.TAB9 DES.VACIO Q>} PCAR.AUX ES.VACIO A 5 T? > QLINEA.0.P9 PLINEA.0.PTR QLINEA.0.P9 PLINEA.0.PTR QCAR.AUX }%> P@LINEA.0.PTR7 3 P@LINEA.0.PTR7* 34 P@LINEA.0.PTR7> 7H >R CONTINUA.S.B\ 0f ICICLO.SACAR.BITp #IND.BI}Tz : VBI QIND.HSCROL ; S>VELOCIDAD PIND.HSCROL P ENO.LIMITE.H O> PIND.HSCROL P  CORRER.}LINEA QIND.BIT R> HNO.CARACTER SACAR.CARACTERNO.CARACTER$ SACAR.BIT.NO.LIMITE.H8QCHAR.SETB }PAUX.ROTL$>V LUPILLO`QCHAR.SET9jPCHAR.SET9t2~(> HLUPILLO QAUX.ROTPCHAR.SET} SALE.VBI!bX;SETEA.MENSAJE QMENSAJEPMENSAJE.PTRQMENSAJEPMENSAJE.PTR:X; $X;------}-------------------------X; Entrada desde BASIC conX; llamada:($X; U=USR(DIRECCION,ADR(MENSAJE$))2$X;----------------}---------------<7F7PPMENSAJEZ7d PMENSAJEnX;xEL.COMIENZOQ>5CHAR.SETP SETEA.MENSAJEQ>4LINE}A.0.PPLINEA.0.PTRQ>5LINEA.0.PPLINEA.0.PTRQ> PIND.BITQ>PIND.HSCROL Q>4DLP0 Q>5DL}P1$>"PONER.COLORES,QCOLOR.TAB96P9@0JIPONER.COLOREST SACAR.CARACTER^ SACAR.BITh %>4VBIr $>5VB}I|Q> \ Q>4DLIP Q>5DLIPQ>PENDLESS.LOOP QCONSOLAR>HENDLESS.LOOPQ> }$>5b %>4b \:;; REGRESO AL BASICPQ>PENDLESS.LOOP QCONSOLAR>HENDLESS.LOOPQ> -$X;*******************************$X;* Cargador de Vidas Infinitas *$X;* para BRUCE LEE *$X;* } *$X;* por: Bill Yesterday *$X;* *$$X;* Agradecemos a NESTOR ME}RCADO*.$X;*por buscar la rutina de vidas*8$X;* infinitas *B$X;* *L$X;* } Revista STAK #4 *V$X;*******************************`X;jX;tX;~ X;---------------------------X; Si tiene cu}alquier duda oX; consulta, escribanos a:X;X; ˠX; ᠵX;  X;}---------------------------X;X;EIX;--------------------SETVBV\SYSVBV_ WARMSVtX;(}X;2 BEGIN< Q>4?CONTFP P Q>5?CONTZP dQ>nP xQ>;; No BASIC!!PPӖQ>;; No Reboot!PD$}>CLR0;Limpia desdeQ>;; $0700 hastaCLR;$BFFFP92HCLR #CLR QCLRR> HCLR0!WA}RMSV;; Salta a ?CONT" ?CONT,Q>6PR;;margen izq.@P;;warmstart!!JQ>TP^ PUTMESh$>4MENSAJEr%>5MENSAJ}E| BƆX;Q>PQ ESPERAR FESPERA SETVBI$>BQDEVICE;; 0=CASSETTEHDISK;; 1= DISK}Q> P!;; Cassette Boot!DISK&!;; Disk Boot!0 MENSAJE:4 A}ҠŠŠˠA}=DX;NX;X bX;l SETVBIvQ> $>5NEWVBI %>4NEWVBI !SETVBV SETRUNI Q>4RUNINIP Q>5RUNINI}P: NEWVBI6 SETRUNI CHECK0 QFLAG  FBACK Q>4SYSVBV P"* Q>5SYSVBV4P#>BACKH8R !SYSV}BV\X;fX;p X; Aqui revisa el archivo quezX; esta siendo cargado y si$X; encuentra la rutina de perdidaX; de vidas,} la desactiva...X; CHECK0Q;;Direccion REAL!R>;;$C6 es DEC HCHECK1Q>;;Reemplaza x LDAP#FLAG};;Cambio listo!! CHECK1:X; RUNINI QFLAG HBKR$ CHECK0. SETVBI8 BKRB :L X;V X;` DEVICE;0=CASS } 1=DISKj  t FLAG~   X;  BEGINFLAG HBKR$ CHECK0. SETVBI8 BKRB :L X;V X;` DEVICE;0=CASS 11000 ;******************************1010 ;* CURSO DE ASSEMBLER *1020 ;* Leccion 4 *1030 ;* RE}VISTA STAK 1992 *1040 ;******************************1050 ;1060 DESDE = $CF1070 HACIA = $CD1080 CUANTOS = $CB1090 };1100 ;------------------------------1110 ; Este programa se llama desde1120 ; BASIC con:1130 ; U=USR(1536,D,H,N)1140 ; }Donde D=direccion DESDE donde1150 ; se empezara a mover1160 ; H=direccion HACIA donde1170 ; se empez}ara a mover1180 ; N=CANTIDAD de bytes a1190 ; mover1200 ;------------------------------1210 *= $06001220} COMIENZO1230 PLA ;# de parametros1240 PLA ;Saca MSB de STACK1250 STA DESDE+1 ;1260 PLA ;Saca} LSB de STACK1270 STA DESDE ;1280 PLA ;Saca MSB de STACK1290 STA HACIA+1 ;1300 PLA ;Saca LSB de STA}CK1310 STA HACIA ;1320 PLA ;Saca MSB de STACK1330 STA CUANTOS+1 ;1340 PLA ;Saca LSB de STACK1350 }STA CUANTOS1360 ;1370 LDY #$001380 CICLO1390 ;------------------------------1400 ; Carga acumulador con el1410 ; }contenido de la direccion1420 ; a la cual APUNTA el VECTOR1430 ; formado por DESDE y DESDE+1,1440 ; y lo almacena en la d}ireccion1450 ; a la cual APUNTA el VECTOR1460 ; formado por HACIA y HACIA+11470 ;------------------------------1480 LD}A (DESDE),Y ;Toma BYTE1490 STA (HACIA),Y1500 ;--------------------------1510 ; Incremente puntero de1520 ; direccion d}e partida1530 ;--------------------------1540 INC DESDE1550 BNE SIGUE.11560 INC DESDE+11570 ;------------------------}--1580 ; Incrementa Puntero de1590 ; direccion de llegada1600 ;--------------------------1610 SIGUE.11620 INC HACIA1}630 BNE SIGUE.21640 INC HACIA+11650 ;--------------------------1660 ; Decrementa Cantidad de1670 ; Bytes a mover1}680 ;--------------------------1690 SIGUE.21700 DEC CUANTOS1710 BNE CICLO1720 DEC CUANTOS+11730 BPL CICLO1740 RTS } ; Vuelve al BASIC----------1690 SIGUE.21700 DEC CUANTOS1710 BNE CICLO1720 DEC CUANTOS+11730 BPL CICLO1740 RTS 1320 POS.PALETA .BYTE 1001360 POS.PELOTA.X .BYTE 641380 POS.PELOTA.Y .BYTE 1931960 ;2040 MATRIZ2060 .BYTE 1,1,1,1,1, }1,1,12080 .BYTE 1,1,1,1,1,1,1,12100 .BYTE 1,1,1,1,1,1,1,12120 .BYTE 1,1,1,1,1,1,1,12140 .BYTE 1,1,1,1,1,1 },1,12160 .BYTE 1,1,1,1,1,1,1,12180 .BYTE 0,0,0,0,0,0,0,02200 .BYTE 0,0,0,0,0,0,0,02220 .BYTE 0,0,0,0,0,0, }0,02240 .BYTE 0,0,0,0,0,0,0,02260 .BYTE 0,0,0,0,0,0,0,02280 .BYTE 0,0,0,0,0,0,0,02300 .BYTE 0,0,0,0,0,0,0 },02320 .BYTE 0,0,0,0,0,0,0,02340 .BYTE 0,0,0,0,0,0,0,02360 .BYTE 0,0,0,0,0,0,0,02380 .BYTE 0,0,0,0,0,0,0, }02400 .BYTE 0,0,0,0,0,0,0,02420 .BYTE 0,0,0,0,0,0,0,02440 .BYTE 0,0,0,0,0,0,0,02460 .BYTE 0,0,0,0,0,0,0,0 }2480 .BYTE 0,0,0,0,0,0,0,02500 .BYTE 0,0,0,0,0,0,0,02520 .BYTE 0,0,0,0,0,0,0,02540 .BYTE 0,0,0,0,0,0,0,0 }2560 .BYTE 0,0,0,0,0,0,0,02580 .BYTE 0,0,0,0,0,0,0,02600 .BYTE 0,0,0,0,0,0,0,0,02701 ;2740 FUFA2760 JSR }ACTIVA.PLAYERS ;OJOOOOO!2800 JSR PONE.LADRILLOS2810 JSR MOVER.DER2820 ETERNO JMP ETERNO011120 ;011140 OFFS.PALET }A = 200011160 BASE.PLAYERS = $6000011180 PLAYER.0 = BASE.PLAYERS+1024011200 PLAYER.1 = BASE.PLAYERS+1280011220 PLAYER.2 = } BASE.PLAYERS+1536011240 PLAYER.3 = BASE.PLAYERS+1792011260 MISSILS = BASE.PLAYERS+768011280 ;011300 ACTIVA.PLAYERS01132 }0 LDA #$60011340 STA ZERO+2011360 LDY #$10011380 LDX #0011400 LDA #0011420 ZERO011440 STA $6000,X011460 }INX 011480 BNE ZERO011500 INC ZERO+2011520 DEY 011540 BNE ZERO011560 ;011580 LDA #2011600 STA $D008 ;siz }e / player 0011620 STA $D009 ;size / player 1011640 STA $D00A ;size / player 2011660 STA $D00B ;size / player }3011680 LDA #170011700 STA $D00C ;size/missils011720 LDA 623011740 ORA #33 ;Overlapping011760 STA 623 } ;gprior011780 LDX #3011800 FCOL011820 LDA COLOR.PALETA,X011840 STA 704,X011860 DEX 011880 BPL FCOL011900 ; }011920 LDX #0011940 F.PL011960 LDA DATOS.PALETA.0,X011980 STA PLAYER.0+OFFS.PALETA,X012000 LDA DATOS.PALETA.1,X }012020 STA PLAYER.1+OFFS.PALETA,X012040 LDA DATOS.PALETA.2,X012060 STA PLAYER.2+OFFS.PALETA,X012080 LDA DATOS.PALE }TA.3,X012100 STA PLAYER.3+OFFS.PALETA,X012120 LDA DATOS.PELOTA,X012140 STA MISSILS+100,X012160 INX 012180 CPX }#8012200 BNE F.PL012220 ;012260 LDA # >BASE.PLAYERS012280 STA 54279012300 ;012320 LDA #3012340 STA 53277 ; } player/miss on012360 ;012380 LDA #62012400 STA 559012420 ;012440 RTS ;retorno!012460 ;012500 MOVER.DER }012520 MOVER.IZQ012540 CLC 012560 LDA POS.PELOTA.X012580 STA $D006012600 STA $D007012620 ADC #2012640 STA $!}D004012660 STA $D005012680 ;012700 MUEVE.PALETA012720 CLC 012740 LDA POS.PALETA012760 STA $D000012780 STA $D!}001012800 ADC #8012820 STA $D002012840 STA $D003012880 RTS 013800 ;013820 DATOS.PELOTA013840 .BYTE 24,150,11!}8013860 .BYTE 118,150,24,0013880 DATOS.PALETA.0013900 .BYTE 0,0,109,237013920 .BYTE 128,0,239,111013940 DATOS.PALE!}TA.1013960 .BYTE 47,111,237,237013980 .BYTE 237,233,0,0014000 DATOS.PALETA.2014020 .BYTE 0,0,182,183014040 .BYTE!} 1,0,247,246014060 DATOS.PALETA.3014080 .BYTE 244,246,183,183014100 .BYTE 183,151,0,0014120 ;014140 COLOR.PALETA014!}160 .BYTE $08,$06,$08,$06014560 ;014800 FIL .BYTE 0014820 KOL .BYTE 0014840 INDEX .BYTE 0014860 AUX.1 .BYTE 0015660 ;!}015680 ;015700 PONE.LADRILLOS015720 ;015880 LDA # FONDO+44015940 STA PT.!}F+1015960 LDA #10015980 STA FIL016000 LDA #0016020 STA INDEX016040 ;016060 DE.NUEVO016080 LDA #8016100 ST!}A KOL016120 ;016140 LDY #$FF016160 P.L0016180 LDX INDEX016200 LDA MATRIZ,X016220 STA AUX.1016240 ;016260 LD! }X #0016280 P.L1016300 INY 016320 LDA AUX.1016340 BEQ P.L2016360 LDA LADRILLO,X016380 STA (PT.F),Y016400 P.L2! }016420 INX 016440 CPX #3016460 BNE P.L1016480 P.L3016500 INC INDEX016520 DEC KOL016540 BNE P.L0016560 C! }LC 016580 LDA PT.F016600 ADC #40016620 STA PT.F016640 BCC P.L4016660 INC PT.F+1016680 P.L4016700 DEC FIL0! }16720 BNE DE.NUEVO016740 RTS 016760 ;018040 F.IL .BYTE 0018060 C.OL .BYTE 0018080 AUXF.1 .BYTE 0018100 AUXF.2 .BYTE! } 0018120 ;018140 LADRILLO018160 .BYTE $E8,$E9,$EA018440 ;020700 ; Definicion del LADRILLO020705 ; en tres caractere!}s del SET020710 ;020720 .BYTE 170,159,183,189,159,183,189,85020740 .BYTE 170,125,223,247,125,223,247,85020760 .BYTE!} 170,245,125,221,245,125,221,85E 170,159,183,189,159,183,189,85020740 .BYTE 170,125,223,247,125,223,247,85020760 .BYTE $X;*******************************$X;* Cargador de Vidas Infinitas *$X;* para ELECTRICIAN *$X;* %} *$X;* por: Bill Yesterday *$X;* *$$X;* Agradecemos a NESTOR ME%}RCADO*.$X;*por buscar la rutina de vidas*8$X;* infinitas *B$X;* *L$X;* %} Revista STAK #4 *V$X;*******************************`X;jX;tX;~ X;---------------------------X; Si tiene cu%}alquier duda oX; consulta, escribanos a:X;X; ˠX; ᠵX;  X;%}---------------------------X;X;EIX;--------------------SETVBV\SYSVBV_ WARMSVtX;(%}X;2 BEGIN< Q>4?CONTFP P Q>5?CONTZP dQ>nP xQ>;; No BASIC!!PPӖQ>;; No Reboot!PD$%}>CLR0;Limpia desdeQ>;; $0700 hastaCLR;$BFFFP92HCLR #CLR QCLRR> HCLR0!WA%}RMSV;; Salta a ?CONT" ?CONT,Q>6PR;;margen izq.@P;;warmstart!!JQ>TP^ PUTMESh$>4MENSAJEr%>5MENSAJ%}E| BƆX;Q>PQ ESPERAR FESPERA SETVBI$>BQDEVICE;; 0=CASSETTEHDISK;; 1= DISK%}Q> P!;; Cassette Boot!DISK&!;; Disk Boot!0 MENSAJE:4 A}ҠΠˠA%}=DX;NX;X bX;l SETVBIvQ> $>5NEWVBI %>4NEWVBI !SETVBV SETRUNI Q>4RUNINIP Q>5RUNINI%}P: NEWVBI6 SETRUNI CHECK0 QFLAG  FBACK Q>4SYSVBV P"* Q>5SYSVBV4P#>BACKH8R !SYSV%}BV\X;fX;p X; Aqui revisa el archivo quezX; esta siendo cargado y si$X; encuentra la rutina de perdidaX; de vidas,%} la desactiva...X; CHECK0QGM;;Direccion REAL!R>;; 1, resta vidas HCHECK1Q>;;0, ya no resta!PGM #%}FLAG CHECK1:X; RUNINI QFLAG HBKR$ CHECK0. SETVBI8 BKRB :L X;V X;` DEVICE;0=CASS 1=DISKj  % }t FLAG~   X;  BEGINFLAG HBKR$ CHECK0. SETVBI8 BKRB :L X;V X;` DEVICE;0=CASS 1=DISKj  $& $X;------------------------------- X; Revista STAK presenta:X;X; D E M O 3X;X; (o LAS)"} letras grandes)$X;.X; por: Rod Rubber 19928X;B$X;-------------------------------DX;FX; Ensamblar a Diskette c)#}on:GX; ASM,,#D:DEMO3.OBJHX;I$X; Presionar START para detenerloJX;K$X;-------------------------------EICONSOLA)$}MENSAJE.PTRCARACTER.PTRLINEA.0.PTRVELOCIDAD X;@  CHAR.SET* U=U=U=U4 U=U=)%}U=U> ===H ===RDL\ p=p=pf Dp LINEA.0z D LINEA.0 D LINEA.0 D)&} LINEA.1 D LINEA.1 D LINEA.1 D LINEA.2 D LINEA.2 D LINEA.2 D)'}$ LINEA.3. D8 LINEA.3B DL LINEA.3V D` LINEA.4j Dt LINEA.4~ D LINEA.4 )(}D LINEA.5 D LINEA.5 D LINEA.5 D LINEA.6 D LINEA.6 D LINEA.6 ))}D LINEA.7 D( LINEA.72 D< LINEA.7F  pP  AZ  DLd DLIn 5x A 5 $> LOOP.DLI & Ԫ )*}&д 0 HLOOP.DLI 7 > 7 9 CARACTER.TAB  ===  === IND.HSCROL  " IND.BIT,  6 )+}CAR.AUX@  J AUX.ROT T COLOR.TAB^  =B===h LINEA.0.Pr  LINEA.00|  LINEA.10  LINEA.20  LINE),}A.30  LINEA.40  LINEA.50  LINEA.60  LINEA.70 LINEA.0 < A )-} A LINEA.1 < A A LINEA.2 < A ).} A LINEA.3 < A A LINEA.4 < A )/} A& LINEA.50 < A A: LINE)0}A.6D < A AN LINEA.7X < A )1} Ab SACAR.CARACTERl "X; SACAR CARACTER DE MENSAJE.v Q> PIND.BIT %> Q@MENSAJE.PTR7 R> HNO.FINAL)2}  SETEA.MENSAJE !SACAR.CARACTER X; #X;------------------------------ !X; Toma byte de MENSAJE y lo $X;convierte )3}en CODIGO DE PANTALLA #X;------------------------------ NO.FINAL M>;; NO INVERSOS R>  EMAYOR.31 O>@* HINT.)4}CODE4 MAYOR.31> R>`H EINT.CODER ;\ S> f X;--------------------------p X; Continua con el Procesoz X;-------------)5}------------- INT.CODE PCARACTER.PTR #MENSAJE.PTR HSIGA.M.PTR #MENSAJE.PTR SIGA.M.PTR Q> PCARACTE)6}R.PTR TCARACTER.PTR UCARACTER.PTR TCARACTER.PTR UCARACTER.PTR TCARACTER.PTRUCARACTER.PTR,)7}QCARACTER.PTR$O>.PCARACTER.PTR8%>BCICLO.M.PTRLQ@CARACTER.PTR7VPCARACTER.TAB8`1jICICLO.M.PTRt)8}:~CORRER.LINEA$> CICLO.C.LQLINEA.09 PLINEA.09QLINEA.19 PLINEA.19QLINEA.29 PLINEA.2)9}9QLINEA.39 PLINEA.39QLINEA.49 PLINEA.49QLINEA.59  PLINEA.59QLINEA.69 PLINEA.69(QLIN):}EA.792 PLINEA.79<2F(>2PHCICLO.C.LZ:d SACAR.BITn$>xCICLO.SACAR.BITQ> PCAR.AUXTCARACTER.TAB);}9 DES.VACIOQ> PCAR.AUX ES.VACIOA5T?>QLINEA.0.P9PLINEA.0.PTRQLINEA.0.P9PLINEA.0.P)<}TR QCAR.AUX"%>,P@LINEA.0.PTR763@P@LINEA.0.PTR7J3TP@LINEA.0.PTR7^7h>rCONTINUA.S.B|0ICICLO.)=}SACAR.BIT #IND.BIT:VBIQIND.HSCROL;S>VELOCIDADPIND.HSCROLPENO.LIMITE.HO> PIND.HSCRO)>}LP CORRER.LINEA QIND.BITR> &HNO.CARACTER0 SACAR.CARACTER:NO.CARACTERD SACAR.BITNNO.LIMITE.HX)?}QCHAR.SETb PAUX.ROTl$>v LUPILLOQCHAR.SET9PCHAR.SET92(> HLUPILLO QAUX.ROT)@}PCHAR.SET SALE.VBI!bX;SETEA.MENSAJEQ>4MENSAJEPMENSAJE.PTRQ>5MENSAJE PMENSAJE.PTR)A}: X;*EL.COMIENZO4Q>5CHAR.SET>PH SETEA.MENSAJERQ>4LINEA.0.P\PLINEA.0.PTRfQ>5LINEA.0.PpPLINEA.0)B}.PTRzQ> PIND.BITQ>PIND.HSCROL Q>4DLP0 Q>5DLP1$>PONER.COLORESQCOLOR.TAB9P)C}90IPONER.COLORES SACAR.CARACTER SACAR.BIT %>4VBI$ $>5VBI.Q>8 \B Q>4DLILPV Q>5DLI`P)D}jQ>tP~ENDLESS.LOOP QCONSOLAR>HENDLESS.LOOPQ> $>5b %>4b \:;; Volvera?X; MEN)E}SAJE< A Espero que este mensaje aparezca, o de lo contrario A Atodo habra fallado....A   EL.COMIENZOMEN(zUUUUUUUUppTTTTɐTɐTɐTTTT3T3T3ThThThTTTTґTґTґTTTpAHH Ԏhh@-G}BĐ.c͑7-H}-I}-J}z 9L<) i@`8 -K}̩&&&iΠ͙q`̐ɐ63khՑґ 2`{q{H -L}{ȑȑhz`y8y԰i y z  < ’||Lb䭂˭`hhh 9-M}zy01} < ’ \_ԭb \`|Lb䭂˭`hhh 9,R 1500 STA $5000,Y1510 INY 1520 CPY #01530 BNE LLENA.50001540 ;1550 ;-------------------------------156O}0 ; Copia 256 valores del1570 ; REGISTRO X (255-0) hacia1580 ; $6000 ($60FF - $6000)1590 ;-----------------P}--------------1600 ;1610 LDX #$FF1620 LLENA.60001630 TXA 1640 STA $6000,X1650 DEX 1660 CPX #$FF16Q}70 BNE LLENA.60001680 ;1690 BRK 1700 ; RTS1710 ;1720 TABLA.COLORES1730 .BYTE 0,12,230,0,121740 ;1750 ;R}1760 ; *= $02E0 ; Salto de eje-1770 ; .WORD INICIO ;cucion del DOS1780 ;1790 ; Usuarios del MAC65 deben1800 ; eS}liminar linea 1690 e ingresar1810 ; lineas 1700, 1760 y 1770 (sin1820 ; punto y coma). Usuarios del MAC65 deben1800 ; eY0100 ;------------------------------0110 ;------------------------------0120 ;0130 ; REVISTA STAK PRESENTA:0140 ;0150!U} ; Listado del STAKOUT0160 ; (primera parte)0170 ;0180 ; Pantalla de fondo y piezas0190 ;0200 ;---------------!V}---------------0210 ;------------------------------0300 ;1000 .OPT NO LIST1020 *= $02E01040 .WORD COMIENZO!W}1060 *= $30001880 COLOR .BYTE $B4,$BA,$B6,$06,$002660 COMIENZO2680 JSR PONE.LISTA2700 JSR PONE.PANTALLA2701!X} ETERNO JMP ETERNO014220 PONE.LISTA014300 LDA # LISTA014360 STA $0231014380!Y} LDA # >NUEVO.SET014400 STA 756014420 LDX #4014440 COL LDA COLOR,X014460 STA 708,X014480 DEX 014500 BPL COL!Z}014520 RTS 014560 ;014580 LISTA ; lista en gr.12014600 .BYTE $70,$70,$70,$44014620 .WORD FONDO014640 .BYT![}E 4,4,4,4,4,4,4,4,4,4,4014660 .BYTE 4,4,4,4,4,4,4,4,4,4014680 .BYTE 4,4,$41014700 .WORD LISTA014740 ;014760 PT.F =!\} $CB014780 PT.T = $CD014880 ;-----------------------------014900 ;Copia PANTALLA creada a FONDO014910 ;------------------!]}-----------014920 PONE.PANTALLA014940 LDA # PANTALLA015000 STA PT.F+10150!^}20 LDA # FONDO015080 STA PT.T+1015100 ;015120 LDX #24015140 ;015160 P.PNT!_}0015180 LDY #39015200 ;015220 P.PNT1015240 LDA (PT.F),Y015260 STA (PT.T),Y015280 DEY 015300 BPL P.PNT101532!`}0 CLC 015340 LDA PT.F015360 ADC #40015380 STA PT.F015400 BCC P.PNT2015420 INC PT.F+1015440 P.PNT2015460 !a}CLC 015480 LDA PT.T015500 ADC #40015520 STA PT.T015540 BCC P.PNT3015560 INC PT.T+1015580 P.PNT3015600 DEX !b}015620 BNE P.PNT0015640 RTS 018460 ;018480 FONDO018520 ;018540 *= $7800018560 ;-----------------------------01!c}8570 ; Nuevo SET de caracteres018572 ;-----------------------------018580 NUEVO.SET018600 ;018620 .BYTE $00,$00,$00,$!d}00,$00,$00,$00,$00018640 .BYTE $00,$00,$03,$0A,$0A,$0A,$0A,$0A018660 .BYTE $00,$FF,$FF,$AA,$FF,$F0,$F0,$F0018680 .BY!e}TE $0F,$FF,$FF,$BA,$FE,$3F,$0F,$00018700 .BYTE $FC,$F3,$F3,$B7,$B7,$F3,$FC,$00018720 .BYTE $FF,$FF,$FF,$AA,$AA,$FF,$FF,!f}$00018740 .BYTE $F3,$CF,$CF,$DE,$DE,$CF,$F3,$00018760 .BYTE $FF,$FF,$FF,$AB,$AB,$FF,$FF,$00018780 .BYTE $CF,$3F,$3F,!g}$7A,$7A,$3F,$CF,$00018800 .BYTE $FF,$FC,$FC,$AD,$AD,$FC,$FF,$00018820 .BYTE $00,$FF,$FF,$EA,$FA,$CA,$0A,$0A018840 .B!q}yB%DOS SYSB*)DUP SYSB SAUTORUN SYSB=\MEMOVIRTM65BMUEVEVIRM65B'DEMO3 M65BCARBRUCEM65BASSEMB4 SRCB&STAKOUT2SRCBCARELECTM65B%!DEMO003 M65BFDEMO3B OBJYTE $00,$00,$C0,$F0,$F0,$F0,$F0,$F0018860 .BYTE $0A,$0A,$0A,$0A,$00,$0A,$1A,$1A018880 .BYTE $F0,$F0,$F0,$F0,$00,$F0,$F4!r},$F4018900 .BYTE $00,$0A,$0A,$00,$0A,$0A,$0A,$0A018920 .BYTE $00,$F0,$F0,$00,$F0,$F0,$F0,$F0018940 .BYTE $1A,$00,$1A!s},$1A,$00,$1A,$1A,$1A018960 .BYTE $F4,$00,$F4,$F4,$00,$F4,$F4,$F4018980 .BYTE $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A019000 .!t}BYTE $F0,$F0,$F0,$F0,$F0,$F0,$F0,$F0019020 .BYTE $1A,$02,$12,$10,$1A,$1A,$1A,$1A019040 .BYTE $F4,$00,$30,$30,$F4,$F4,$F!u}4,$F4019060 .BYTE $00,$1A,$1A,$00,$1A,$1A,$1A,$0A019080 .BYTE $00,$F4,$F4,$00,$F4,$F4,$F4,$F0019100 .BYTE $00,$0A,$0!v}A,$0A,$0A,$0A,$0A,$0A019120 .BYTE $00,$F0,$F0,$F0,$F0,$F0,$F0,$F0019140 .BYTE $0A,$00,$0A,$0A,$0A,$0A,$0A,$0A019160 !w}.BYTE $F0,$00,$F0,$F0,$F0,$F0,$F0,$F0019180 .BYTE $0A,$0A,$00,$0A,$0A,$0A,$0A,$0A019200 .BYTE $F0,$F0,$00,$F0,$F0,$F0,$!x}F0,$F0019220 .BYTE $0A,$0A,$0A,$00,$0A,$0A,$0A,$0A019240 .BYTE $F0,$F0,$F0,$00,$F0,$F0,$F0,$F0019260 .BYTE $0A,$0A,$!y}0A,$0A,$00,$0A,$0A,$0A019280 .BYTE $F0,$F0,$F0,$F0,$00,$F0,$F0,$F0019300 .BYTE $0A,$0A,$0A,$0A,$0A,$00,$0A,$1A019320 !z} .BYTE $F0,$F0,$F0,$F0,$F0,$00,$F0,$F4019340 .BYTE $1A,$1A,$00,$1A,$1A,$00,$1A,$1A019360 .BYTE $F4,$F4,$00,$F4,$F4,$00,!{}$F4,$F4019380 .BYTE $1A,$1A,$02,$12,$10,$1A,$1A,$1A019400 .BYTE $F4,$F4,$00,$30,$30,$F4,$F4,$F4019420 .BYTE $0A,$0A,!|}$00,$0A,$0A,$00,$1A,$1A019440 .BYTE $F0,$F0,$00,$F0,$F0,$00,$FC,$F4019460 .BYTE $0A,$0A,$0A,$1A,$00,$1A,$00,$1A019480 !}} .BYTE $F0,$F0,$F0,$F4,$00,$F4,$00,$F4019500 .BYTE $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF019520 .BYTE $FF,$F9,$F5,$E5,$D5,$95!~},$55,$55019540 .BYTE $FF,$6E,$5F,$5B,$57,$56,$55,$55019560 .BYTE $FE,$EF,$FE,$BB,$FE,$EF,$FE,$FB019580 .BYTE $FE,$FD!},$F9,$F5,$E5,$D5,$95,$D5019600 .BYTE $55,$55,$55,$55,$55,$55,$55,$55019620 .BYTE $55,$55,$55,$55,$55,$55,$55,$95019640!} .BYTE $BE,$7F,$6E,$5F,$5B,$57,$56,$57019660 .BYTE $95,$D5,$E5,$B5,$F9,$BD,$EE,$BF019680 .BYTE $56,$5A,$5A,$6A,$6A,$A!}A,$FF,$FF019700 .BYTE $D5,$E5,$F5,$F9,$FD,$FE,$55,$55019720 .BYTE $56,$56,$5A,$5A,$6A,$6A,$AA,$AA019740 .BYTE $FB,$B!}F,$EE,$BF,$FB,$BF,$EE,$FF019760 .BYTE $BF,$FF,$EF,$FF,$BB,$FF,$EE,$FE019780 .BYTE $56,$56,$5A,$5A,$6A,$AA,$AA,$BB01980!}0 .BYTE $AA,$AA,$AA,$AA,$AA,$AA,$AA,$BB019820 .BYTE $0C,$3C,$E8,$A8,$BC,$FC,$54,$14019840 .BYTE $FF,$FF,$82,$AA,$FF,$!}FF,$55,$55019860 .BYTE $30,$3C,$2B,$2A,$3E,$3F,$15,$14019880 .BYTE $A8,$88,$88,$88,$88,$88,$88,$A8019900 .BYTE $20,$!}20,$20,$20,$20,$20,$20,$20019920 .BYTE $A8,$08,$08,$A8,$80,$80,$80,$A8019940 .BYTE $A8,$08,$08,$A8,$08,$08,$08,$A80199!}60 .BYTE $88,$88,$88,$A8,$08,$08,$08,$08019980 .BYTE $A8,$80,$80,$A8,$08,$08,$08,$A8020000 .BYTE $80,$80,$80,$A8,$88,!}$88,$88,$A8020020 .BYTE $A8,$08,$08,$08,$08,$08,$08,$08020040 .BYTE $A8,$88,$88,$A8,$88,$88,$88,$A8020060 .BYTE $A8,!}$88,$88,$A8,$08,$08,$08,$08020080 .BYTE $54,$44,$44,$44,$44,$44,$44,$44020100 .BYTE $44,$44,$44,$44,$44,$44,$44,$10020!}120 .BYTE $54,$40,$40,$54,$40,$40,$40,$54020140 .BYTE $10,$44,$44,$44,$44,$44,$44,$10020160 .BYTE $54,$44,$44,$54,$40!},$40,$40,$40020180 .BYTE $54,$10,$10,$10,$10,$10,$10,$10020200 .BYTE $10,$44,$44,$54,$44,$44,$44,$44020220 .BYTE $54!},$40,$40,$50,$40,$40,$40,$40020240 .BYTE $44,$44,$44,$44,$44,$44,$44,$54020260 .BYTE $0F,$0F,$0E,$0A,$08,$05,$00,$0F02!}0280 .BYTE $CF,$CF,$8A,$8A,$03,$41,$41,$C3020300 .BYTE $CF,$CF,$8A,$8A,$0C,$05,$04,$0C020320 .BYTE $CC,$CC,$88,$8A,$C!}F,$4D,$4D,$CC020340 .BYTE $33,$F3,$82,$82,$03,$01,$41,$C3020360 .BYTE $F3,$F3,$A2,$A2,$33,$11,$51,$F3020380 .BYTE $3!}3,$33,$22,$22,$30,$10,$50,$F0020400 .BYTE $F0,$F0,$B0,$A0,$80,$40,$40,$C0020420 .BYTE $0F,$0A,$00,$00,$00,$00,$00,$000!}20440 .BYTE $C3,$82,$00,$00,$00,$00,$00,$00020460 .BYTE $0C,$08,$00,$3C,$3C,$28,$28,$14020480 .BYTE $CC,$88,$00,$FF,$!}C3,$AA,$0A,$05020500 .BYTE $F3,$22,$00,$3F,$30,$2A,$02,$01020520 .BYTE $F3,$A2,$00,$CF,$C3,$8A,$8A,$45020540 .BYTE $!}F0,$A0,$00,$C0,$C0,$80,$00,$40020560 .BYTE $C0,$80,$00,$00,$00,$00,$00,$00020580 .BYTE $00,$FC,$CC,$CC,$F0,$CC,$CC,$CC!}020600 .BYTE $00,$FC,$CC,$CC,$F0,$CC,$CC,$FC020620 .BYTE $00,$CC,$CC,$CC,$CC,$30,$30,$30020640 .BYTE $00,$C0,$C0,$C0,!}$C0,$C0,$C0,$FC020660 .BYTE $00,$FC,$C0,$C0,$FC,$0C,$0C,$FC020680 .BYTE $54,$40,$40,$54,$04,$04,$04,$54023200 ;023220!} PANTALLA023240 ;023260 .BYTE $00,$00,$01,$02,$03,$04,$05,$05,$05,$05,$05,$05,$05,$05023280 .BYTE $06,$05,$07,$08,$05,!}$05,$05,$05,$05,$05,$05,$05,$06,$09023300 .BYTE $0A,$0B,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00023320 .BYTE $00,$00,$0C!},$0D,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31023340 .BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31,$32,$33023360 !}.BYTE $0C,$0D,$00,$52,$53,$54,$55,$56,$57,$58,$59,$00023380 .BYTE $00,$00,$10,$11,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35!}023400 .BYTE $36,$37,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35,$36,$37023420 .BYTE $10,$11,$00,$5A,$5B,$5C,$5D,$5E,$5F,$60!},$61,$00023440 .BYTE $00,$00,$14,$15,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39023460 .BYTE $3A,$3B,$38,$39,$3A,$3B,$38,$3!}9,$3A,$3B,$38,$39,$3A,$3B023480 .BYTE $14,$15,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00023500 .BYTE $00,$00,$16,$17,$2C,$!}2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D023520 .BYTE $2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F023540 .BYTE $16,!}$17,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00023560 .BYTE $00,$00,$18,$19,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31023580 .!}BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31,$32,$33023600 .BYTE $18,$19,$00,$00,$00,$50,$4F,$67,$4B,$00,$00,$000!}23620 .BYTE $00,$00,$1C,$1D,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35023640 .BYTE $36,$37,$34,$35,$36,$37,$34,$35,$36,$37,!}$34,$35,$36,$37023660 .BYTE $1C,$1D,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00023680 .BYTE $00,$00,$20,$21,$38,$39,$3A,$3B!},$38,$39,$3A,$3B,$38,$39023700 .BYTE $3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B023720 .BYTE $20,$21,$00,$0!}0,$00,$3F,$3F,$3F,$3F,$00,$00,$00023740 .BYTE $00,$00,$12,$13,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D023760 .BYTE $2E,$!}2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F023780 .BYTE $12,$13,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00023800 .B!}YTE $00,$00,$12,$13,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31023820 .BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31,$3!}2,$33023840 .BYTE $12,$13,$00,$00,$4D,$51,$49,$4E,$4C,$67,$00,$00023860 .BYTE $00,$00,$12,$13,$34,$35,$36,$37,$34,$35,$!}36,$37,$34,$35023880 .BYTE $36,$37,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35,$36,$37023900 .BYTE $12,$13,$00,$00,$00,$00,!}$00,$00,$00,$00,$00,$00023920 .BYTE $00,$00,$28,$29,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39023940 .BYTE $3A,$3B,$38,$39!},$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B023960 .BYTE $28,$29,$00,$00,$3F,$3F,$3F,$3F,$3F,$3F,$00,$00023980 .BYTE $00,$0!}0,$0E,$0F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D024000 .BYTE $2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F0240!}20 .BYTE $0E,$0F,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00024040 .BYTE $00,$00,$12,$13,$30,$31,$32,$33,$30,$31,$32,$33,$30!},$31024060 .BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31,$32,$33024080 .BYTE $12,$13,$00,$00,$00,$00,$00,$00,$0!}0,$00,$00,$00024100 .BYTE $00,$00,$12,$13,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35024120 .BYTE $36,$37,$34,$35,$36,$37,$!}34,$35,$36,$37,$34,$35,$36,$37024140 .BYTE $12,$13,$00,$3C,$3D,$3E,$00,$00,$3C,$3D,$3E,$00024160 .BYTE $00,$00,$12,$13,!}$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39024180 .BYTE $3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B024200 .BYTE!} $12,$13,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00024220 .BYTE $00,$00,$1A,$1B,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D02424!}0 .BYTE $2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F024260 .BYTE $1A,$1B,$00,$3C,$3D,$3E,$00,$00,$3C,$3D,$3E,!}$00024280 .BYTE $00,$00,$1E,$1F,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31024300 .BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32!},$33,$30,$31,$32,$33024320 .BYTE $1E,$1F,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00024340 .BYTE $00,$00,$22,$23,$34,$35,$3!}6,$37,$34,$35,$36,$37,$34,$35024360 .BYTE $36,$37,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35,$36,$37024380 .BYTE $22,$23,$!}00,$3C,$3D,$3E,$00,$00,$3C,$3D,$3E,$00024400 .BYTE $00,$00,$24,$25,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39024420 .BYTE !}$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B024440 .BYTE $24,$25,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00024460!} .BYTE $00,$00,$26,$27,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D024480 .BYTE $2E,$2F,$2C,$2D,$2E,$2F,$2C,$2D,$2E,$2F,$2C,$!}2D,$2E,$2F024500 .BYTE $26,$27,$00,$3C,$3D,$3E,$00,$00,$3C,$3D,$3E,$00024520 .BYTE $00,$00,$10,$11,$30,$31,$32,$33,$30,!}$31,$32,$33,$30,$31024540 .BYTE $32,$33,$30,$31,$32,$33,$30,$31,$32,$33,$30,$31,$32,$33024560 .BYTE $10,$11,$00,$00,$00!},$00,$00,$00,$00,$00,$00,$00024580 .BYTE $00,$00,$1A,$1B,$34,$35,$36,$37,$34,$35,$36,$37,$34,$35024600 .BYTE $36,$37,$3!}4,$35,$36,$37,$34,$35,$36,$37,$34,$35,$36,$37024620 .BYTE $1A,$1B,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00024640 .BYTE $!}00,$00,$2A,$2B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39024660 .BYTE $3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B!}024680 .BYTE $2A,$2B,$00,$62,$62,$00,$65,$66,$00,$63,$64,$00024700 ;,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B,$38,$39,$3A,$3B I#X;-----------------------------;#X; Vidas Infinitas y Disparo ;#X; Automatico para ;#X; %} ;#X; D R O L ;#X; ;$#X; Por: Bill Yesterday ;.%}#X; ;8#X; Revista STAK 1992 ;B#X;-----------------------------;LX;VEI`FLAG.1%}jFLAG.2tX;~X; COMIENZO Q>4?CONTP  Q>5?CONTP Q>P Q>PPQ>%}PD #X;------------------------------#X; Borra desde $0700 hasta $BFFF#X;------------------------------($>2CLR%}0<Q>FCLRPP9Z2dHCLRn #CLRx QCLRR> HCLR0!t ?CONTQ>PR;;Margin Izq.P;;F%}lag de WarmstQ>PIMPRIME.MENSAJE$>4MENSAJE%>5MENSAJE BX;#X;------------------------------X%}; Espera unos 4 segundos"#X;------------------------------,Q>6P@QJ WAIT0TR^ FWAIT0hX;r"X;---------%}--------------------|"X; Mueve TABLA.03B0 hasta $03B0"X;-----------------------------$>MUEVE.TABLAQTABLA.03B0%}9P92(>4HMUEVE.TABLA#X;------------------------------Q>;;Modifica$>5;;puntero de%>4;;VBI%} \;;inmediata#X;------------------------------$>;;Actualiza pun-B;;tero del Stack&#X;--------------------------%}----0DISK:!;; Disk Boot!D MENSAJEN4 A}ҠĠҠϠ̠ˠA=XX;bX;lX;v#X;----------%}--------------------!X; Busca Codigo de Vidas y deX; Disparo Automatico"X; (Esta tabla se copia a $03B0"X; a%} fin de quedar en una zonaX; de memoria protegida)#X;------------------------------TABLA.03B06 REVISA.0 %}QFLAG.1 FREVISA.1Q |R> HREVISA.1 Q>P |  REVISA.1* QFLAG.24 FSALE>QHR>R HSALE\Q>f%}PpQ>IzPQ>PSALE8!_X;FLAG.01 FLAG.02 X;X; COMIENZOE\Q>f$tX$X;-------------------------------$X;-------------------------------X;X; REVISTA STAK PRESENTA:X;"X; Ve)}rsion Mejorada del: DEMO 2$X;.X; Por : Rod Rubber 19928X;BX;L"X; (Ensamble a DISKETTE usando:VX; ASM,,#D:)}DEMO02.OBJ`$X;Cargue desde DOS con DEMO02.OBJjX;t#X; Use Joystick para cambiar el~$X; Scrolling. Presione START para)}X; regresar al DOSX;$X;-------------------------------$X;-------------------------------X;EIX;PNT.)}DESDEPNT.HACIAX;X;X; FNT X; REDEFINICION 18 CARACTERESX;( =======2 =)}f=f===f=f=< =======FFNT2P  = ==Y===Y=Z  = = = = = = =d U===U=)}= = = n =======x ======= U===U==== ===U===U= =)}====== U===U==== ===U===U= ======= ======)}= `=`==U===U= `=`=`=`=`=`=`=j e=o=o=e=j=`=`=`X; LISTA DE DESPLIEGUE FNT)}DL p=p=p=D PANTAK =======================A" DL,X;6X; )} PROGRAMA PRINCIPAL@X;J STARTTQ0^PDLAhQ1r PDLA|$> CC2Q9 PTABCOLA90ICC2X;MUEVE)}.CARACTERESX;Q>PPNT.DESDEPPNT.HACIAQ>PPNT.DESDE Q>5FNTPPNT.HACIAX;$>&%>0)}R2Q@PNT.DESDE7:R3P@PNT.HACIA7D3NHR2X#PNT.DESDEb#PNT.HACIAl0vHR2X; Q>FNTP Q>4DL)}P0 Q>5DLP1$>B1QTABCOL9P90IB1 PONER.PANTALLASCT  $>5CICLO %>4CICLO Q>* )}\4 CONSOLA>QHR>R FSALIR2\QxfR>p FCONSOLAz PF.JOYS !CONSOLA SALIR2Q>$>%>b \)}Q>PQDLAP0 QDLAP1$> CC1QTABCOLA9 P9 0$ ICC1. :8 CICLOB #F.ROTL IZZ1V )}Q>z` PF.ROTj $>t CILO.1TFNT9~ UFNT9 UFNT9 0 ICILO.1 ZZ1#F.COLOR ISIGUE.8 Q> PF.COLO)}R $> CICLO.8, Q9 O> P9 0 ICICLO.8 SIGUE.8 QF.JOYS( M>2 N>< HRANGOF !J.HORP RANGOZ)} QF.JOYSd M>n FJ.ABAJOx QFNT2 PTABLA QFNT2 PTABLA QFNT20 PTABLA QFNT2H PTABLA )} QFNT2` PTABLA $> F1QFNT29 PFNT29 QFNT29 PFNT29 QFNT209 PFNT209" QFNT2)}H9, PFNT2H96 QFNT2`9@ PFNT2`9J 2T (>^ HF1h QTABLAr PFNT2| QTABLA PFNT2/ QTABLA)} PFNT2G QTABLA PFNT2_ QTABLA PFNT2w J.ABAJO QF.JOYS M> FJ.HOR QFNT2 PTABLA )} QFNT2/ PTABLA QFNT2G& PTABLA0 QFNT2_: PTABLAD QFNT2wN PTABLAX $>b FF1QFNT29l PF)}NT29v QFNT29 PFNT29 QFNT209 PFNT209 QFNT2H9 PFNT2H9 QFNT2`9 PFNT2`9 )}0 IFF1 QTABLA PFNT2 QTABLA PFNT2 QTABLA PFNT20 QTABLA PFNT2H* QTABLA4 PFNT)}2`> J.HORH QF.JOYSR M> \ N> f FSALIRp QF.JOYSz M> FJ.DER A0%> A1$> A2QFNT2 9 T? U)}FNT2 9 UFNT29 UFNT29 UFNT29 UFNT2 9 2 (> HA21 FSALIRHA1$ J.DER.)} QF.JOYS8M>B%>L A11$>VA22QFNT29`V?jWFNT29tWFNT29~WFNT2 9WFNT2 9)}WFNT292(>HA221HA11 SALIR!bPONER.PANTALLA Q>4PANTAPPNT.DESDE Q>5PANTAPPNT.DE)}SDE Q>4PANTAxPPNT.HACIAQ>5PANTAx(PPNT.HACIA2X;<$>F O0%>wPO1Q@PNT.DESDE7ZO2P@PNT.HACI)}A7d1nIO1x,QPNT.HACIAO>xPPNT.HACIAQPNT.HACIAO>PPNT.HACIA0HO0%> BB1QMSG8)}PPANTA8 QMSG8PPANTA(8 QMSG48PPANTAP8 QMSGN8"PPANTAx8,16IBB1@:J T)}ABLAT ====^ TABCOLh &="=,=d=r TABCOLA| ==== DLA = F.JOYS F.COLOR  F.)}ROT zX;%MSG A!!!!!!!!!!!!!!!!!!!!!!!!!!A! A!! REVISTA ATARI STAK !!A! A!! POR ROD RUBBER !!A! A!!!!!)}!!!!!!!!!!!!!!!!!!!!!AX; PANTA/ A#&),/#&),/#&),/#&),/#&),/#&),/#&),/#&),/A/ A$'*-0$'*-0$'*-0$'*-0$'*-0$'*-0$'*-0$)}'*-0A/ A%(+.1%(+.1%(+.1%(+.1%(+.1%(+.1%(+.1%(+.1A START),/#&),/#&),/A/ A$'*-0$'*-0$'*-0$'*-0$'*-0$'*-0$'*-0$(E<@,.D:<<6-C:/@ԩhhh i hԈhԈhԈhԈhhLV,F @@A(F6-?:<@!}<B-@@#-@!:(| |> &-@!!}&(0 A0@@D:*.*^-@@ +-@@8)@!}F67<,.>:,J ^-@"%@1-(7@<@,7@<&@,1 J-@@#-( CONTI28}NUEJF:B2y,@ApH-@@#-@!:(| |> H A`AF:A,"A29}6,-@"%@A(7@<@,L-@@#/(PRESS LF:B2y,@AI2:}@"-@@ .-@!E( I x-@!@*(<-@!@2;}Q(|FILE: |c-@!@x(|D:FILENAME.EXT|G-@!@*(GF:A,"A02<}AW Apn-@"@)(WHAT IS THE ;-@"@N(NUMBER ?? `-@0@dn2=} AM 6-A:,!$-@@#C(THIS BOOK DOESN'T EXISTM A+6-+$@W,%@!6-+ A@2>} C"!-@@#9(MEMORY EMPTY !!!C Ap*}-@"@((ORDER FOR: :-@"@2?}M(UTHOR or OOK_-@3@l)@s(>:,} A4!!@e*@fA>6-@0$+"@e2@},-@)-@@#?(ǮS-@@%W i-@@#(ALPHABETIZ2A}ING...-@@%  ' 6-6-'AY^6-7-@X+$@W,%@2B}@WE6-%@Z68,-@:7%<%,,^ **6-@#P:K:,'K:@,,&@D-@&$67@,. 2C}567@W,. D67@,.8,8%,A 6-8%,68%,-8,:6.7++%,$@W,%@<++%,$2D}@W,%@W,67++%,$@W,%@<++%,$@W,%@W,.7+$@W,%@<+$@W,%@W, 62E}8,-B 867+$@W,%@<+$@W,%@W,.B A -&@68,A68%2F},-8,cc67++%,$@W,%@<++%,$@W,%@W,.7+$@W,%@<+$@W,%@W, 68%,-2G}::67++%,$@W,%@<++%,$@W,%@W,. (6-P:'@,(!A &-@ @2H}&(7<%@),.-@ @.(7%@0<%@I,.Y-@@.(7%@P<%@U,@-@5@2I}Y(7%@V<%@V,8AY@4 AgAY!6-5-@ @8C1@2J}U67%<%,.>:,c6-%@g U6-@0#-@ @(11@C67%<%,.>:,Q6-%@U 2K}U6-@P#-@@11@C67%<%,.>:,Q6-%@U )1@5@)67%<%,.>:,2L}7-@@( -AY@47 Ap D:EDITOR3.LIB @)67%<%,.>:,0\0 REM S."D:EDITOR3.LIB1 POKE 106,1608 GRAPHICS 0:? " Ҡ":POSITION 3,3:? "BOOK:":POSITION 1,5:? "AUTHOR:":POSITION 3FN},7:? "LOCATION:"9 POSITION 29,7:? "LOAN:":POSITION 10,9:? "ՠ":POSITION 16,9:? "OFF":POKE 710,0:POKE 709,710 ? :? "EFO}W BEGINNING":? "OAD FILE":? "AVE FILE":POKE 16,64:POKE 53774,6411 ? " NEXT BOOK":? " BACK BOOK":? "LPHABET":? "IRECTORFP}Y ":? "O OTHER BOOK"12 ? "ETURN TO MAIN MENU":POSITION 5,23:? "MESSAGE: By German A. Gonzalez M.";13 POSITION 15,1:? "FREFQ}E: 370":POSITION 15,0:? "BOOK:":POSITION 26,0:? "NUMBER OF":POSITION 26,1:? "BOOKS:"14 COM A$(21090),Q$(30),NO$(18),A(3),X(4FR}00),B$(57),NO1$(14):A(0)=29:A(1)=19:A(2)=5:A(3)=0:X1=1:RE=115 CLOSE #2:OPEN #2,4,0,"K:":A$(1)=" ":A$(21090)=" ":A$(2)=A$:GOTFS}O 69017 X1=X1+57:I1=I1+1:IF I2>370 THEN POSITION 14,23:? "MEMORY FULL!!!";:X1=X1-57:I1=I1-1:I2=I2-1:GOTO 17020 POSITION 3FT}3,1:? I2;" ":POSITION 21,1:? 370-I2;" ":POSITION 21,0:? I1;" ":I=021 FOR X=0 TO 3:Q=022 Q$(1)=" ":Q$(A(X)+1)=" ":Q$(2)=QFU}$23 IF X=0 THEN POSITION 2,3:? "";:GOSUB 24824 IF X=1 THEN ? :? :? "";:GOSUB 24825 IF X=2 THEN ? :? :? "";:GOSUBFV} 24826 IF X=3 THEN POSITION 34,7:? " ";:GOSUB 24840 TRAP 40:Q1=0:GET #2,T50 IF T=96 THEN 4080 IF Q>0 AND T=126 THEN Q$(Q,FW}Q)=" ":Q=Q-2:Q1=1:GOTO 11081 IF T=30 THEN Q=Q-2:Q1=1:GOTO 11082 IF T=31 THEN Q1=1:GOTO 11090 IF T=155 THEN 150100 IF T<32FX} OR T>122 THEN 40110 Q=Q+1:IF Q>A(X)+1 THEN Q=A(X)+1:? "";:GOTO 40120 IF Q<0 THEN Q=0:GOTO 40130 ? CHR$(T);:IF Q1 THEN 40FY}140 Q$(Q,Q)=CHR$(T):GOTO 40150 IF Q=0 THEN 40160 A$(X1+I,X1+I+A(X))=Q$(1,A(X)+1):I=I+A(X)+1:NEXT X:? 163 IF RE=0 THEN 200FZ}0165 RE=1170 POSITION 21,0:? I1;" ":POKE 764,255:POKE 752,1:POSITION 17,9:? "ON ":POKE 702,64:POKE 694,0171 POSITION 33,1F[}:? I2;" ":POSITION 2,21:? " INPUT BOOK ";I1+1;" ":POSITION 2,20:? "ODIFY BOOK ";I1;" "172 TRAP 172:GET #2,T:GOSUB 260F\}173 IF T=77 THEN IF I2>=1 THEN GOSUB 250:RE=0:GOTO 20174 IF T=83 THEN 550175 IF T=76 THEN 500176 IF T=27 THEN IF I1+1<=I2F]} THEN POSITION 14,23:? "SURE (Y/N)";:GET #2,J:IF J<>89 THEN 170177 IF T=68 THEN GOSUB 600178 IF T=65 THEN 800179 IF T=27 F^}AND J=89 THEN GOSUB 250:GOTO 17180 IF T=43 THEN 300181 IF T<>82 AND T<>78 THEN 185182 POSITION 14,23:? "SURE?? (Y/N)";:GEF_}T #2,SB:TRAP 257:IF SB<>89 THEN 185183 IF T=78 THEN RUN 184 RUN "D:MAINMENU.LIB"185 IF T=45 THEN 400186 IF T=27 THEN I2=IF`}1+1:GOSUB 250:GOTO 17187 IF T=155 THEN T=32190 IF T=71 THEN 700247 POSITION 14,23:? "EXISTS NO COMMAND ";CHR$(T);"Fa}";:GOTO 170248 IF RE THEN U=PEEK(85):W=PEEK(84):? Q$:POSITION U-1,W:? " ";249 RETURN 250 POKE 752,0:POSITION 17,9:? "OFFb}F":RETURN 257 POSITION 14,23:? "CHECK THE DISK DRIVE OUT";:POKE 195,0:GOTO 170260 POSITION 14,23:? " MESSAGE:";:RETURNFc} 300 IF I1+1>I2 THEN POSITION 14,23:? "EXIST NO MORE BOOKS";:GOTO 170310 I1=I1+1:X1=X1+57:GOTO 420400 IF I1<=1 THEN POSIFd}TION 14,23:? "BACK TO THE BEGINNING";:GOTO 170410 I1=I1-1:X1=X1-57420 POSITION 9,3:? A$(X1,X1+29)425 POSITION 9,5:? A$(XFe}1+30,X1+49)427 POSITION 13,7:? A$(X1+50,X1+55):POSITION 35,7:? A$(X1+56,X1+56):GOTO 170500 POKE 752,0:POSITION 28,12:? "LOAFf}DING":TRAP 257510 POSITION 24,13:? " ":POSITION 24,13:? "";:INPUT #16,NO$511 NO1$=NO$:NO$(3)=NO1$:NO$(1,2)="D:"Fg}520 SB=ADR("@ԩhhh i hԈhԈhԈhԈhhLV")526 OPEN #1,4,128,NO$:X=USR(SB,1,21090,ADR(A$),7)528 IF PEEK(Fh}851)<>136 THEN POSITION 14,23:? "READ ERROR - ";PEEK(851);:GOTO 549530 I2=((PEEK(856)+256*PEEK(857))/57)-1:IF I1=0 THEN I1Fi}=1:X1=58531 POSITION 21,1:? 370-I2;" ":POSITION 33,1:? I2;" ":CLOSE #1:GOTO 420550 IF I1=0 THEN POSITION 14,23:? "NO EXFj}IST DATAS";:GOTO 170560 TRAP 257:POKE 752,0:POSITION 28,12:? "SAVING":POSITION 24,13:? " ":POSITION 24,13:? "";:Fk}INPUT #16,NO$561 NO1$=NO$:NO$(3)=NO1$:NO$(1,2)="D:"570 OPEN #3,8,128,NO$:? #3;A$(1,(I2*57)+57);:CLOSE #3:GOTO 170600 POSITFl}ION 21,10:? "DIRECTORY"630 FOR L=11 TO 19:POSITION 21,L:? "| |":NEXT L640 POSITION 21,L:? "Fm}"650 TRAP 680:OPEN #3,6,0,"D:*.*"660 FOR DIR=1 TO 9:FOR DI=1 TO 18:GET #3,K:NO$(DI,DI)=CHR$(K):NEXT DI:POSITION 2Fn}2,DIR+10661 ? NO$(1,1);NO$(3,DI-1):NEXT DIR670 POSITION 14,23:? " CONTINUEJF:J}B2y,@ApH-@@#-@!:(| |> H A`AF:A,"A6,-@J}"%@A(7@<@,L-@@#/(PRESS LF:B2y,@AI@J}"-@@ .-@!E( I x-@!@*(<-@!@Q(J}|FILE: |c-@!@x(|D:FILENAME.EXT|G-@!@*(GF:A,"A0AWJ} Apn-@"@)(WHAT IS THE ;-@"@N(NUMBER ?? `-@0@dn AJ}M 6-A:,!$-@@#C(THIS BOOK DOESN'T EXISTM A+6-+$@W,%@!6-+ A@ CJ}"!-@@#9(MEMORY EMPTY !!!C Ap*}-@"@((ORDER FOR: :-@"@M(J}UTHOR or OOK_-@3@l)@s(>:,} A4!!@e*@fA>6-@0$+"@e,J}-@)-@@#?(ǮS-@@%W i-@@#(ALPHABETIZING...J}-@@%  ' 6-6-'AY^6-7-@X+$@W,%@@WEJ}6-%@Z68,-@:7%<%,,^ **6-@#P:K:,'K:@,,&@D-@&$67@,. 567@WJ},. D67@,.8,8%,A 6-8%,68%,-8,:6.7++%,$@W,%@<++%,$@W,%J}@W,67++%,$@W,%@<++%,$@W,%@W,.7+$@W,%@<+$@W,%@W, 68,-J}B 867+$@W,%@<+$@W,%@W,.B A -&@68,A68%,-8,J}cc67++%,$@W,%@<++%,$@W,%@W,.7+$@W,%@<+$@W,%@W, 68%,-::67J}++%,$@W,%@<++%,$@W,%@W,. (6-P:'@,(!A &-@ @&(7:,c6-%@g U6-@0#-@ @(11@C67%<%,.>:,Q6-%@U U6-@PJ}#-@@11@C67%<%,.>:,Q6-%@U )1@5@)67%<%,.>:,7-@J}@( -AY@47 ApD:EDITOR31.LIBU )1@5@)67%<%,.>:,7-@HD  FF                    N}                          N}        German Gonzalez Morris Cienfuegos 1733 N} Arica, Chile----------------------XXI Ciencia y TecnologiaCasilla 13-DAvenida Santa MarN}ia 5542Santiago, Chile------------------------11 de Enero de 1993.Sr. Editor:4 El 4 de Enero de 1993, lesN} envie una carta que es acerca a otra carta mia publicada en XXI 115. En la cual se me olvido mencionar que tambien se equivoN}caron, ya que Euler dio una lista de y no de como ahi aparece.German Gonzalez Morris.onar que tambien se equivoLc  FF R} R} The shortest reversi game known.Function Boundary(i,j,v1,v2: integer): boolean;beginR} if (i+v1>=1) and (i+v1<=8) and (j+v2>=1) and (j+v2>=8) then if t[i+v1,j+v2]=0 then begin a:=v1; b:=v2;R} boundary:=true; end else boundary:=false else boundary:=false;end;hen begin a:=v1; b:=v2;PU! (@ D:ZTEST.BAS'D800 H,ɛh`2L1NEED D1 THRU D8u\/  FF                    V}                          V}        German A. Gonzalez Cienfuegos 1733 V} Arica, Chile------------------Terry Koyn1754 SprucedaleSt. Louis, MO 63146--------V}-----------January 4, 1993.Dear Mr.Koyn: Reading Algorithm 1.5 newsletter, A.K. Dewdney metions that you arV}e distributing a program called IFS explorer. I am interesed in IFS, and I would like to have a copy, whether thV}ere is not problem you could write me to the address show above. I will be happy to receive any answer from youV}. Sincerely,German A. Gonzalezve. I will be happy to receive any answer from youT=  FF                    [}                          [}        German Gonzalez Morris Cienfuegos 1733 [} Arica, Chile----------------------XXI Ciencia y TecnologiaCasilla 13-DAvenida Santa Mar[}ia 5542Santiago, Chile------------------------4 de Enero de 1993.Sr. Editor: En XXI #115, aparece mi carta s[}obre numeros amigos. En la cual se equivocaron en la edad que tenia Paganini al encontrar un par de numeros amigos[}. Ya que tenia solo anos. Ademas supongo que cuando nombran que Paganini murio en 1840 se refieren al gran viol[}inista y no al matematico que me estoy refiriendo. Curiosamente existe semejanza de nombres. Agradeciendo la acog[}ida de la presente.German Gonzalez Morris.Curiosamente existe semejanza de nombres. Agradeciendo la acogX38I 2  ? |lxDӭ67XȄ`/ԩj`˩9̢Hc`xxnxxx;^}̠`EϽͽΩ`xxxxxйϥ͝Ν`:H"NUR8L;_}`&NNNABYMTCSPVNVNCCOPIDDDR@@A3A 3A;`}r'3A(Aj/A06 6A 6 6 ;a} ΠŠ;b}##EL NUM. MAXIMO DE VARIABLES Y!!DE MUESTRAS ESTAN DADOS PORNV Y NR RESPECTIVAMENTE.% +6-@;c}%6-@P6-%@ FF9<,9<,9,9<,9<,9,;@,9,;@,6-,(;d}>:A%,,( --- MENU ---( ( ( 1. Ingresar datos2!(!( 2. Modificar datos7(( 3. List;e}ar datos<$($( 4. Calculo del modeloZ(( 0. Salir menu\)(%(Ingrese numero de opcion )_$$(+;f}*@,@0`@A`dҠӛn0 (} (,(# variables explicatorias 0s6-;g}x- >:A%,- 99 para terminar ingresoz ------------------------| ( REGISTRO : %@ (}( ;h}Y = "@@06-%@68,--@'(( X = '68<,-  ;i}A @A Ҡӛ ( F"$(NO EXISTEN DATOS8-@A< F @;j}0/(+(# Registro que desea modificar /S!) @(1(NO EXISTE ESE REGISTROE-@AI ;k}S @0 (}( REGISTRO : (( Y =8,( Modifica s/n 0SAP(( Nuevo val;l}or %68,-((-@(( X = 8<,( Modifica S/N "0SA,*( ;m}Nuevo valor '68<,-*(6  @0@@APJҠӛTH (}"&( NO HAY DAT;n}OS:-@A> H @0r-@|(( REGISTRO : ( Y = 8,-@((;o} X = 8<,   ,( (((DESEA VOLVER AL MENU S/N ,4S@0 (  "(>:;p}A%,ϠŠӛ (}F"$(NO EXISTEN DATOS8-@A< F @0--(;q}%** VARIABLES QUE INCLUYE EN MODELO **$-@ 68,-$ 6-(-@$(!(X :;r} LA INCLUYE S/N %((.( 4S68,-@(6-%@8 ="@0B (}(CALCULANDO....;s}-@68<@,-@ 6-@-@8,"A6-%@;t}-@"68<,-8<,, 6 r6-%@|-@-@68<,-;u}-@!!68<,-8<,%8<,$8<,   -@-@$ "68<,-@$ AP;v}68<,-   -@6-8<,@"(6(NO PUDO SER CALCULADO EL MODELO@ A"`;w}9-@#68<,-8<,'568<,-8<,'9 &-@0"A:6-8<,D-@N;x}68<,-8<,&$8<,X68<,-8<,&$8<,b l   v-@68<,--@;y}68<,-8<,%8<,$8,   -@68,--@68,-8,%8<,$8<,;z}   '6-6-'6--@6-%8<,$8, -@6-%8,;{} 6-%8,$8,* 4 6-'6-$>6-+&$,'+&$,H (}(MODELO :(\(Y = B0f-@;|}p8,"A"z (+B (X   ( (? )!@5(***ERROR DE CALCULO ***? A"`;}}(B0 = 8@,6-@-@"A" *8," 6-%@* A"(;~}B = 8,6-%@ ((R2 = &("(DESEA OTRO MODELO S/N &0SA#((DESE;}A IR A MENU S/N#4S@0 D:REGR.COMB@@R;}H(#(INGR BDR9 D:REGR.COMB@@R8)/