Volver menú revistas

DOC'S Nº29

Volver menú DOC's Nº29

 


USANDO TUDE A LO BESTIA
The Lawnmover Man / S.T.

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 diskette 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.

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


Volver al principio de página