comparison level1/modules/boot_sdc.asm @ 3130:e0614e08fa5e

l1 boot modules: Expand documentation and clean up code Tidy up white-space and indentation. Expand documentation to show C flag is important on return from HWRead. Expand documentation to show how/why/when filler is needed at end of file. Delete dead code in some places. No functional changes.
author Neal Crook <foofoobedoo@gmail.com>
date Sun, 04 Dec 2016 21:01:42 +0000
parents 47cd23dcf55e
children
comparison
equal deleted inserted replaced
3129:ce9f4ff0a380 3130:e0614e08fa5e
1 ******************************************************************** 1 ********************************************************************
2 * Boot - CoCo SDC Boot module 2 * Boot - CoCo SDC Boot module
3 * Provides HWInit, HWTerm, HWRead which are called by code in
4 * "use"d boot_common.asm
3 * 5 *
4 * $Id$ 6 * $Id$
5 * 7 *
6 * Edt/Rev YYYY/MM/DD Modified by 8 * Edt/Rev YYYY/MM/DD Modified by
7 * Comment 9 * Comment
110 * X = bits 15-0 of LSN 112 * X = bits 15-0 of LSN
111 * blockloc,u = where to load the 256 byte sector 113 * blockloc,u = where to load the 256 byte sector
112 * 114 *
113 * Exit: 115 * Exit:
114 * X = ptr to data (i.e. ptr in blockloc,u) 116 * X = ptr to data (i.e. ptr in blockloc,u)
115 * Carry set => ERROR 117 * Carry Clear = OK, Set = Error
116 * 118 *
117 * multicomp09: 119 * multicomp09:
118 * for now, the image starts at SDcard block $02.8000 120 * for now, the image starts at SDcard block $02.8000
119 * so simply need to add that offset to the incoming 121 * so simply need to add that offset to the incoming
120 * LSN and load it into the hardware. Simples! 122 * LSN and load it into the hardware. Simples!
228 230
229 231
230 *-------------------------------------------------------------------------- 232 *--------------------------------------------------------------------------
231 233
232 IFGT Level-1 234 IFGT Level-1
233 * Filler to get $1D0 235 * L2 kernel file is composed of rel, boot, krn. The size of each of these
236 * is controlled with filler, so that (after relocation):
237 * rel starts at $ED00 and is $130 bytes in size
238 * boot starts at $EE30 and is $1D0 bytes in size
239 * krn starts at $F000 and ends at $FEFF (there is no 'emod' at the end
240 * of krn and so there are no module-end boilerplate bytes)
241 *
242 * Filler to get to a total size of $1D0. 3, 2, 1 represent bytes after
243 * the filler: the end boilerplate for the module, fdb and fcb respectively.
234 Filler fill $39,$1D0-3-2-1-* 244 Filler fill $39,$1D0-3-2-1-*
235 ENDC 245 ENDC
236 246
237 Address fdb DPort 247 Address fdb DPort
238 WhichDrv fcb BootDr 248 WhichDrv fcb BootDr