amiga_boottest

diff src/boot/boot.s @ 2:58ebd84822e7

it works
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 22 Feb 2018 12:44:20 +0200
parents 48093e4bd99a
children
line diff
     1.1 --- a/src/boot/boot.s	Wed Feb 21 18:00:45 2018 +0200
     1.2 +++ b/src/boot/boot.s	Thu Feb 22 12:44:20 2018 +0200
     1.3 @@ -1,20 +1,20 @@
     1.4  | vi:filetype=gas68k:
     1.5  	.equ CMD_READ, 2
     1.6 +	.equ EXEC_DO_IO, -0x1c8
     1.7 +	.equ LOADADDR,	0x10000
     1.8  
     1.9 -	.equ EXEC_DO_IO, -0x1c8
    1.10 -
    1.11 +start:
    1.12  | starting with trackdisk device I/O request pointer in a1
    1.13  | load the program at 0x100 and jump there
    1.14  | program length is patched by mk_adf just before start
    1.15 -start:
    1.16 -	move.l -6(%pc), %d0		| get binary size
    1.17 +	move.l -6(%pc), %d0		| get program size
    1.18 +	move.w #0x080, 0xdff180
    1.19  	move.l %d0, 0x24(%a1)		| I/O length
    1.20 -	move.l #0x100, 0x28(%a1)	| I/O data pointer
    1.21 +	move.l #LOADADDR, 0x28(%a1)	| I/O data pointer
    1.22  	move.l #512, 0x2c(%a1)		| I/O offset (skip first sector)
    1.23  	move.w #CMD_READ, 0x1c(%a1)	| I/O command
    1.24 -	move.l %a1, -(%sp)
    1.25  	jsr EXEC_DO_IO(%a6)
    1.26 -	move.l (%sp)+, %a1
    1.27 +	move.w #0xf0f, 0xdff180
    1.28  
    1.29 -	bra 0x100
    1.30 +	jmp LOADADDR
    1.31  	.align 4