Usando TUDE a lo bestia!!! -=-=-=-=-=-=-=-=-=-=-=-=-= Casi desde que me compré el A1200 he tenido muchísimos problemas con demos, juegos y programas que no iban bien en el ordenador debido a problemas de incompatibilidad por la mala costumbre de muchos programadores de hacer las rutinas en ensamblador a lo bestia y sin tener en cuenta los modelos futuros del Amiga. Como muchos sabrán estos problemas eran debido sobretodo a los AGA y al 68020 del A1200. Si ya encima le metemos una Blizzard 030 o similar el grado de incompatibilidad con programas antiguos se incrementa de forma alarmante. Después de estar mirando y sacando programas DEGRADERS desde AmiNet creo que por fin he encontrado una forma de cargar casi el 70% de los programas que no van en el A1200 a pesar de desconectar los AGA. Para ello necesitamos de una utilidad llamada TUDE que es totalmente FREEWARE y que podemos encontrar en cualquier librería de dominio público, BBS o AmiNet. Acto seguido necesitamos una imagen de la ROM del Kickstart 1.3. Para ello hay que hacer un volcado desde la dirección F8000 hasta la FFFFF. Son en total 256Kb. Para hacer esto podeis usar un programa llamado GrabKick también de dominio público o compilad el source que viene al final de artículo en cualquier ensamblador y ejecutarlo en el Amiga 500. Ahora que ya tenemos todo hecho es hora de crearnos un diskette que hará de "degradador" del A1200 a un "casi A500". Para ello formateamos un diskete de manera "booteable". Para ello usamos la instrucción INSTALL DF0: del CLI. Tras ello creamos un directorio llamado C en el diskete donde ir el ejecutable del TUDE, otro llamado S donde irá el Startup-Sequence y por último la imagen de la ROM del 1.3 la grabamos en la raíz del disco con el nombre KICK34005.A500. Este nombre es muy importante pues si no es así el TUDE no reconocerá la ROM y pasará olímpicamente de cargarla. Ya tenemos casi todo listo. Ahora de lo que se trata es de usar un editor de texto donde crearemos el fichero STARTUP-SEQUENCE que irá en el directorio S del diskette y que incluirá las siguientes líneas: TUDE DEGRADE TUDE CHIPMEM=1024KB TUDE KICKSTART1.3 Y ya está todo listo. Metemos el diskette en la unidad, reseteamos y cuando termine de cargar habremos convertido el A1200 en un A500 con 020 y 1MB de CHIP RAM. Si omitimos segunda línea tendremos toda la memoria que queramos. Si tenemos FAST RAM es recomendable desconectarla si usamos programas muy antiguos. También es posible usar 512Kb de memoria como en el A500 sin ampliar. Para ello cambiar la segunda línea por TUDE CHIPMEM=512Kb Os aseguro que el número de programas que os cargarán ahora y que antes no lo hacían es alarmante. He llegado a cargar incluso juegos tan antiguos como el Army Moves o el Bomb Jack que antes no conseguía cargar ni de pura coña. Espero que este artículo os haya sido provechoso a todos los que tengais el A1200 y esteis hartos de no poder usar muchos programas antiguos por culpa de la mala programación de algunos coders. Si alguien quiere ponerse en contacto conmigo para que le pase cualquiera de los programas que he mencionado antes así como el TUDE puede escribirme a: The Lawnmover Man / Suicidal Tendencies Santa Cruz de Tenerife Source para grabar la ROM del A500 en un fichero -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Tras compilar este source ejecutarlo con: RIPROM Kick34005.A500 SECTION RipKickROM,CODE INCLUDE "exec/types.i" INCLUDE "exec/exec.i" INCLUDE "libraries/dos.i" * xref _AbsExecBase exec.library base address xref _LVOOpenLibrary exec.library subroutine xref _LVOCloseLibrary exec.library subroutine xref _LVOOpen dos.library subroutine xref _LVOClose dos.library subroutine xref _LVOWrite dos.library subroutine * movea.l _AbsExecBase,a6 Move exec.library address cmpi.l #2,d0 Check for Entered Filename blt.s useit None entered, goto useit move.b #0,-1(a0,d0.L) else, overlay '0a'x with '00'x move.l a0,d4 and save Filename address bra.s OpenLib goto OpenLib useit lea FName,a0 Load address of Default Filename move.l a0,d4 and save it OpenLib lea Dname,a1 Load dos.library moveq.l #0,d0 version 0 jsr _LVOOpenLibrary(a6) and open it movea.l d0,a6 Move dos.library address move.l d4,d1 Move address of Filename move.l #MODE_NEWFILE,d2 Mode = OUTPUT jsr _LVOOpen(a6) Open file tst.l d0 test open beq.s ClosLib Bad open, goto ClosLib move.l d0,d4 Save File pointer in d4 move.l d0,d1 Move File pointer to d1 move.l #$f80000,d2 Move KickROM address to d2 move.l #262144,d3 Move 256K to d3 jsr _LVOWrite(a6) Write file move.l d4,d1 Move File pointer to d1 jsr _LVOClose(a6) Close file ClosLib move.l a6,a1 Load dos.library address movea.l _AbsExecBase,a6 Load exec.library address jmp _LVOCloseLibrary(a6) Jump to CloseLibrary * CloseLibrary will return to System FName dc.b "RAM:KickStart.ROM",0 Dname dc.b "dos.library",0 Version dc.b "$VER: RipKickROM 2.1 (4.11.95)",0 end