Difference between revisions of "Programming:Dumping the data of the lower rom"
From CPCWiki - THE Amstrad CPC encyclopedia!
Line 46: | Line 46: | ||
.rom_data equ $+1 | .rom_data equ $+1 | ||
</pre> | </pre> | ||
+ | |||
+ | [[Category:Programming]] |
Latest revision as of 15:38, 13 March 2007
;; This example shows how to dump the lower ROM ;; of an Amstrad CPC or KC Compact computer. ;; ;; When active, the lower ROM is readable in the range &0000-&3fff. ;; The lower ROM contains the operating system and firmware. ;; ;; This source is released under the GNU Public License V2. ;; firmware function to activate the lower rom .kl_l_rom_enable equ &b906 ;; firmware function to restore the rom state .kl_rom_restore equ &b90c ;;---------------------------------------------------------- ;; When activated, the lower rom will be readable from &0000-&3fff. ;; The program will not function if it is in this range. org &4000 ;;----------------------------------------- ;; enable the lower (operating system) rom ;; and store the previous state call kl_l_rom_enable ld (rom_previous_state),a ;;----------------------------------------- ;; copy rom data to store ld hl,&0000 ;; source ld de,rom_data ;; dest ld bc,&4000 ;; length ldir ;;----------------------------------------- ;; restore the previous state ld a,(rom_previous_state) call kl_rom_restore ret ;;----------------------------------------- ;; stores the previous state of the rom configuration .rom_previous_state defb 0 ;; a buffer to store the 16k of rom data .rom_data equ $+1