News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Joseman

Reactivating Amsdos & Firmware

Started by Joseman, 21:23, 25 May 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Joseman

Hi guys

I have a problem with a routine that activate the firmware, amsdos, and rom nº6 (where is acmedos).

the thing is that  the routine itself alone works, but if i implement it on a game, the same routine hangs on the call of the rom nº6

the code is located on the second bank &C000, (mode #C1)

the code is not totally implemented on the game, but i want to know what it hangs on the "call &BCCE"!!

i'm out of ideas, please can someone help me in this one?




org #c000 ;[#C1-#C000]

jp entry


;---VARIABLES----;

MODE equ 0

.drive db #00 

.dire_jump_restore db #bd,#88

.dire_descomp db #00,#00

.stack_orig db #00,#00

.nombre_fase db "lvlx.apl" 

;---VARIABLES_FIN----;


.restore_HIGH_jumpblock

ld bc, &7f88 OR MODE
out (c),c

call &44

ld bc, &7f8c OR MODE
out (c),c
ret
.restore_HIGH_jumpblock_end

.firmware_JUMP_RESTORE
; LOW JUMP
rst &8

dw 0



.entry

ld sp,#c000


ld hl,#88BD
ld (firmware_JUMP_RESTORE+1),hl


ld hl,&c9fb
ld (&38),hl



di

call restore_HIGH_jumpblock


exx
ld bc, &7f8c OR MODE
exx


ei


call firmware_JUMP_RESTORE




call &bb00    ; KM INITIALISE




ld c,7        ; AMSDOS
ld de,&0040
ld hl,&abff
call &bcce    ; KL INIT BACK

ld c,6        ; Acmedos
ld de,&0040
ld hl,&abff
call &bcce    ; KL INIT BACK  HERE IT HANGS, NEVER RETURN OF THIS CALL!!!

Alcoholics Anonymous


ld c,7        ; AMSDOS
ld de,&0040
ld hl,&abff
call &bcce    ; KL INIT BACK

ld c,6        ; Acmedos
ld de,&0040
ld hl,&abff
call &bcce    ; KL INIT BACK  HERE IT HANGS, NEVER RETURN OF THIS CALL!!!



Are you supposed to overwrite the AMSDOS variables when Acmedos is initialized?  Should it be this:


ld c,7        ; AMSDOS
ld de,&0040
ld hl,&abff
call &bcce    ; KL INIT BACK

ld c,6        ; Acmedos
call &bcce    ; KL INIT BACK


Powered by SMFPacks Menu Editor Mod