View Single Post
Old 14 May 2010, 09:51   #4
StingRay
move.l #$c0ff33,throat
 
StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
Quote:
Originally Posted by Yesideez View Post
Using TrackDOS to write the bootblock to disk (it calculates the checksum) skipping the first 32 bytes it seems to write the bootblock OK but it doesn't boot.
If you use ASM-One you can easily write the bootblock code to disk without any other tools (why did you skip the first 32 bytes btw?).
Just use ASM-One's "WS" (W.rite S.ector) command to write the bootblock followed by CC (C.alculate C.hecksum) which will calculate the bootblock checksum (which is required as otherwise the disk won't boot).

Example:

BOOT:
dc.l "DOS"<<8
dc.l 0
dc.l 0

START:
moveq #0,d0
...

To write this code to disk with ASM-One you'd use:
WS

RAM PTR>BOOT
DISK PTR>0
LENGTH>2

ASM-One will now write the bootblock and then you'd just use CC to calculate the checksum and the disk will boot.


Quote:
Originally Posted by Yesideez View Post
I can't remember if I have to assemble as position dependent or absolute?
Your code should be position independent as that's shorter.
StingRay is offline  
 
Page generated in 0.04415 seconds with 11 queries