Mercurial > hg > Members > kono > nitros9-code
changeset 2979:978396f33bb2
Move bootman to 3rdparty/wip and add a ReadMe file
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Sat, 05 Apr 2014 10:19:12 +0200 |
parents | 683a924462c8 |
children | f41c4caac519 |
files | 3rdparty/wip/bootman/ReadMe 3rdparty/wip/bootman/boot_config.as 3rdparty/wip/bootman/bootman.as 3rdparty/wip/bootman/llbt_1773.as 3rdparty/wip/bootman/llio_6551.as 3rdparty/wip/bootman/mach_coco.as 3rdparty/wip/bootman/mach_coco3.as 3rdparty/wip/bootman/makefile bootman/boot_config.as bootman/bootman.as bootman/llbt_1773.as bootman/llio_6551.as bootman/mach_coco.as bootman/mach_coco3.as bootman/makefile |
diffstat | 15 files changed, 444 insertions(+), 439 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/ReadMe Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,5 @@ +BootMan - a modular boot manager + +BootMan is a bootstrap mechanism for NitrOS-9 or any other OS, started on +by Boisy Pitre in 2008. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/boot_config.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,19 @@ + NAM boot_config + TTL Boot manager configuration + + SECTION code + +boot_config: + +* autoboot (1 = yes, 0 = no, use menu) +cfg_auto: fcb 0 + +* list of booters to be tried (in order, $0000 terminates list) +* entry format: booter entry point, address, device ID +cfg_boot: fdb llbt_1773,$FF40,0 + fdb llbt_1773,$FF40,1 +* fdb llbt_tc3,$FF70,0 +* fdb llbt_ide,$FF50,0 + fdb $0000 + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/bootman.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,74 @@ + NAM bootman + TTL Boot Manager + +BOOTTRACK equ 0 + + SECTION __os9 +TYPE EQU $11 Prgrm($10)+Objct($01) +ATTR EQU $80 REEntrent +REV EQU $00 Revision level + ENDSECT + +TOP EQU $FE00 + +* The entry point of the boot manager +* Entry: stack is set up, U points to static storage + + SECTION bss +sectptr rmb 2 + ENDSECT + + SECTION code + +__start EXPORT +__start +entry lbsr mach_init initialize the machine we're running on + leas entry,pcr set up stack + leau entry-256,pcr set up static storage + leax entry-512,pcr set up sector buffer pointer + stx sectptr,u + leax welcome,pcr + bsr writestr + +* start booter calling +bootup + leax cfg_boot,pcr + ldy ,x get address of booter + beq bootup if 0, try again + +* call booter's get info entry + leax attempt,pcr + bsr writestr + jsr 12,y + bsr writestr + leax crlf,pcr + bsr writestr + +loop bra loop + + +attempt fcc "Attempting to boot from " + fcb 0 +welcome fcc "NitrOS-9 Boot Manager" +crlf fcb 13,10 + fcb 0 + +* Helpful routines + +* writestr - write string to output handler +* Entry: +* X = address of string (nul terminated) +* Preserves: +* Y +writestr: + pshs y + leay llio,pcr +writeloop + lda ,x+ + beq writedone + jsr 3,y + bra writeloop +writedone + puls y,pc + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/llbt_1773.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,25 @@ + NAM llbt_1773 + TTL WD1773 low-level booter + + SECTION code + +llbt_1773: + lbsr llinit + lbsr llread + lbsr llwrite + lbsr llterm + lbsr llinfo + +llinit +llread +llwrite +llterm + rts + +llinfo leax info,pcr + rts + +info fcc "Floppy disk drive" + fcb 0 + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/llio_6551.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,133 @@ + NAM llio_coco3 + TTL CoCo 3 low-level I/O handler + + SECTION code + +llio: + lbsr llinit + lbsr llread + lbsr llwrite + lbsr llterm + +********** I/O ROUTINES ********** + +* 6551 Parameters +ADDR EQU $FF68 + +A_RXD EQU ADDR+$00 +A_TXD EQU ADDR+$00 +A_STATUS EQU ADDR+$01 +A_RESET EQU ADDR+$01 +A_CMD EQU ADDR+$02 +A_CTRL EQU ADDR+$03 + +* Baud rates +_B2400 EQU $1A 2400 bps, 8-N-1 +_B4800 EQU $1C 4800 bps, 8-N-1 +_B9600 EQU $1E 9600 bps, 8-N-1 +_B19200 EQU $1F 19200 bps, 8-N-1 + +BAUD EQU _B9600 + +* ll_init - Initialize the low-level I/O +* Exit: Carry = 0: Init success; Carry = 1; Init failed +llinit + sta A_RESET soft reset (value not important) +* Set specific modes and functions: +* - no parity, no echo, no Tx interrupt +* - no Rx interrupt, enable Tx/Rx + lda #$0B + sta A_CMD save to command register + lda #BAUD + sta A_CTRL select proper baud rate +* Read any junk rx byte that may be in the register + lda A_RXD + rts + + +* llread - Read one character from 6551 +* +* Entry: None +* Exit: A = character that was read +* +* Note, this routine currently doesn't timeout +llread +r lda A_STATUS get status byte + anda #$08 mask rx buffer status flag + beq r loop if rx buffer empty + lda A_RXD get byte from ACIA data port + rts + +* llwrite - Write one character to 6551 +* +* Entry: A = character to write +* Exit: None +llwrite + pshs a save byte to write +w lda A_STATUS get status byte + anda #$10 mask tx buffer status flag + beq w loop if tx buffer full + puls a get byte + sta A_TXD save to ACIA data port + rts + + +llterm + rts + + IFNE 0 +* llwout - Write an entire string +* llwerr - Write an entire string +llwerr +llwout + pshs a +l@ lda ,x+ + cmpa #C$CR + beq e@ + leay -1,y + beq f@ + bsr Write + bra l@ +e@ bsr Write + lda #C$LF + bsr Write +f@ ldx <buffptr + clrb + puls a,pc + +* ReadLine - Read an entire string, up to CR +* Entry: X = address to place string being read (CR terminated) +* Y = maximum number of bytes to read (including nul byte) +ReadLine + ldx <buffptr + pshs y,x,a + ldy #80 +l@ bsr Read read 1 character + cmpa #C$CR carriage return? + beq e@ branch if so... + cmpa #$08 backspace? + beq bs@ + cmpy #$0000 anymore room? + beq l@ + leay -1,y back up one char + sta ,x+ and save in input buffer +m@ bsr Write echo back out + bra l@ +e@ sta ,x + bsr Write + lda #C$LF + bsr Write + clrb + puls a,x,y,pc +bs@ cmpx 1,s are we at start + beq l@ if so, do nothing + clr ,-x else erase last byte + lbsr Write write backspace + lda #C$SPAC a space... + lbsr Write write it + leay 1,y count back up free char + lda #$08 another backspace + bra m@ + ENDC + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/mach_coco.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,53 @@ + NAM mach_coco + TTL CoCo machine routines + + SECTION code + +PIA0Base equ $FF00 +PIA1Base equ $FF20 + +mach_init: +* CoCo 1/2 Initialization Code + ldx #PIA1Base PIA1 + clr -3,x clear PIA0 Control Register A + clr -1,x clear PIA0 Control Register B + clr -4,x set PIA0 side A to input + ldd #$FF34 + sta -2,x set PIA0 side B to output + stb -3,x enable PIA0 peripheral reg, disable PIA0 + stb -1,x MPU interrupts, set CA2, CA1 to outputs + clr 1,x $FF20 = DDR, motoroff + clr 3,x $FF22 = DDR, sound disabled + deca A = $FE after deca + sta ,x bits 1-7 are outputs, bit 0 is input on PIA1 side A + lda #$F8 + sta 2,x bits 0-2 are inputs, bits 3-7 are outputs on B side + stb 1,x enable peripheral registers, disable PIA1 MPU + stb 3,x interrupts and set CA2, CB2 as outputs + clr 2,x set 6847 mode to alphanumeric + ldb #$02 + stb ,x make RS-232 output marking + clrb + tfr b,dp B = 0 + ldb #$04 + clr -2,x + bitb 2,x + + lda #$37 + sta PIA1Base+3 + + lda PIA0Base+3 + ora #$01 + sta PIA0Base+3 + + lda PIA1Base+2 + anda #$07 + sta PIA1Base+2 + +* 64K DRAM (M0=0, M1=1) + sta $FFDA RESET M0 + sta $FFDD SET M1 + + rts + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/mach_coco3.as Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,113 @@ + NAM mach_coco + TTL CoCo machine routines + + SECTION code + +PIA0Base equ $FF00 +PIA1Base equ $FF20 +DAT.Regs equ $FFA0 + +mach_init: +* CoCo 3 Initialization Code + clr $FFD9 go into fast mode + +* Setup MMU + ldx #DAT.Regs + leay MMUTbl,pcr + ldb #16 +MMULoop lda ,y+ + sta ,x+ + decb + bne MMULoop + +* Setup video + leau CC3Regs,pcr point to video setup data + ldx #$FF90 +Loop1 ldd ,u++ get the bytes + std ,x++ save in the hardware + cmpx #$FFA0 + bcs Loop1 + +* Set palettes up + leau PalTbl,pcr + ldy #$FFB0 palette register + ldb #16 + lbsr CopyRtn + +* Initialize PIAs + ldx #PIA1Base RG - Initialize the PIA 1 + ldd #$FF34 + clr 1,x cassette motor off, 0,x is DDR + clr 3,x 2,x is DDR + deca A = $FE + sta ,x cassette bit 0 input, all others output + lda #$F8 bits 7-3 output, bits 2-0 input + sta 2,x set DDR + stb 1,x 0,x not DDR + stb 3,x 2,x not DDR + clr 2,x + lda #$02 RS-232 bit hi + sta ,x set it + + lda #$FF all outputs + ldx #PIA0Base + clr 1,x 0,x is DDR + clr 3,x 2,x is DDR + clr ,x all inputs + sta 2,x all outputs + stb 1,x 0,x is not DDR + stb 3,x 2,x is not DDR + clr 2,x + + rts + +CopyRtn clra + tfr d,x +Copy1 ldb ,u+ + stb ,y+ + leax -1,x + bne Copy1 + rts + +* MMU +MMUTbl + fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F + fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F + +* GIME register default values +CC3Regs fcb $EC CC2, MMU, IRQ, Vector page, SCS + fcb $00 map type 0 + fcb $00 no FIRQ + fcb $00 no IRQ + fdb $0900 timer + fcb $00 unused + fcb $00 unused + fcb $00 + fcb $00 + fcb $00 + fcb $00 + fdb $0FE0 + fcb $00 + fcb $00 + +* Palette register default colors +PalTbl + fcb $12 green + fcb $36 + fcb $09 blue + fcb $24 red + fcb $3F white + fcb $1B cyan + fcb $2D magenta + fcb $26 + fcb $00 black + fcb $12 green + fcb $00 black + fcb $3F white + fcb $00 black + fcb $12 green + fcb $00 black + fcb $26 + + + ENDSECT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/wip/bootman/makefile Sat Apr 05 10:19:12 2014 +0200 @@ -0,0 +1,22 @@ +include ../rules.mak + +BOOTMAN = bootman_coco_6551 bootman_coco3_6551 + +all: $(BOOTMAN) + +bootman_coco_6551: bootman.o boot_config.o mach_coco.o llio_6551.o llbt_1773.o + $(LINKER) $^ -o$@ + +bootman_coco3_6551: bootman.o boot_config.o mach_coco3.o llio_6551.o llbt_1773.o + $(LINKER) $^ -o$@ + +dsk: $(BOOTMAN) + decb dskini bootman.dsk + decb copy -b -2 bootman_coco_6551 bootman.dsk,BM6551.BIN + decb copy -b -2 bootman_coco3_6551 bootman.dsk,BM36551.BIN + +dskclean: + $(RM) bootman.dsk + +clean: dskclean + $(RM) *.o bootman_coco_6551 bootman_coco3_6551 bootman.dsk
--- a/bootman/boot_config.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - NAM boot_config - TTL Boot manager configuration - - SECTION code - -boot_config: - -* autoboot (1 = yes, 0 = no, use menu) -cfg_auto: fcb 0 - -* list of booters to be tried (in order, $0000 terminates list) -* entry format: booter entry point, address, device ID -cfg_boot: fdb llbt_1773,$FF40,0 - fdb llbt_1773,$FF40,1 -* fdb llbt_tc3,$FF70,0 -* fdb llbt_ide,$FF50,0 - fdb $0000 - - ENDSECT
--- a/bootman/bootman.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ - NAM bootman - TTL Boot Manager - -BOOTTRACK equ 0 - - SECTION __os9 -TYPE EQU $11 Prgrm($10)+Objct($01) -ATTR EQU $80 REEntrent -REV EQU $00 Revision level - ENDSECT - -TOP EQU $FE00 - -* The entry point of the boot manager -* Entry: stack is set up, U points to static storage - - SECTION bss -sectptr rmb 2 - ENDSECT - - SECTION code - -__start EXPORT -__start -entry lbsr mach_init initialize the machine we're running on - leas entry,pcr set up stack - leau entry-256,pcr set up static storage - leax entry-512,pcr set up sector buffer pointer - stx sectptr,u - leax welcome,pcr - bsr writestr - -* start booter calling -bootup - leax cfg_boot,pcr - ldy ,x get address of booter - beq bootup if 0, try again - -* call booter's get info entry - leax attempt,pcr - bsr writestr - jsr 12,y - bsr writestr - leax crlf,pcr - bsr writestr - -loop bra loop - - -attempt fcc "Attempting to boot from " - fcb 0 -welcome fcc "NitrOS-9 Boot Manager" -crlf fcb 13,10 - fcb 0 - -* Helpful routines - -* writestr - write string to output handler -* Entry: -* X = address of string (nul terminated) -* Preserves: -* Y -writestr: - pshs y - leay llio,pcr -writeloop - lda ,x+ - beq writedone - jsr 3,y - bra writeloop -writedone - puls y,pc - - ENDSECT
--- a/bootman/llbt_1773.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ - NAM llbt_1773 - TTL WD1773 low-level booter - - SECTION code - -llbt_1773: - lbsr llinit - lbsr llread - lbsr llwrite - lbsr llterm - lbsr llinfo - -llinit -llread -llwrite -llterm - rts - -llinfo leax info,pcr - rts - -info fcc "Floppy disk drive" - fcb 0 - - ENDSECT
--- a/bootman/llio_6551.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ - NAM llio_coco3 - TTL CoCo 3 low-level I/O handler - - SECTION code - -llio: - lbsr llinit - lbsr llread - lbsr llwrite - lbsr llterm - -********** I/O ROUTINES ********** - -* 6551 Parameters -ADDR EQU $FF68 - -A_RXD EQU ADDR+$00 -A_TXD EQU ADDR+$00 -A_STATUS EQU ADDR+$01 -A_RESET EQU ADDR+$01 -A_CMD EQU ADDR+$02 -A_CTRL EQU ADDR+$03 - -* Baud rates -_B2400 EQU $1A 2400 bps, 8-N-1 -_B4800 EQU $1C 4800 bps, 8-N-1 -_B9600 EQU $1E 9600 bps, 8-N-1 -_B19200 EQU $1F 19200 bps, 8-N-1 - -BAUD EQU _B9600 - -* ll_init - Initialize the low-level I/O -* Exit: Carry = 0: Init success; Carry = 1; Init failed -llinit - sta A_RESET soft reset (value not important) -* Set specific modes and functions: -* - no parity, no echo, no Tx interrupt -* - no Rx interrupt, enable Tx/Rx - lda #$0B - sta A_CMD save to command register - lda #BAUD - sta A_CTRL select proper baud rate -* Read any junk rx byte that may be in the register - lda A_RXD - rts - - -* llread - Read one character from 6551 -* -* Entry: None -* Exit: A = character that was read -* -* Note, this routine currently doesn't timeout -llread -r lda A_STATUS get status byte - anda #$08 mask rx buffer status flag - beq r loop if rx buffer empty - lda A_RXD get byte from ACIA data port - rts - -* llwrite - Write one character to 6551 -* -* Entry: A = character to write -* Exit: None -llwrite - pshs a save byte to write -w lda A_STATUS get status byte - anda #$10 mask tx buffer status flag - beq w loop if tx buffer full - puls a get byte - sta A_TXD save to ACIA data port - rts - - -llterm - rts - - IFNE 0 -* llwout - Write an entire string -* llwerr - Write an entire string -llwerr -llwout - pshs a -l@ lda ,x+ - cmpa #C$CR - beq e@ - leay -1,y - beq f@ - bsr Write - bra l@ -e@ bsr Write - lda #C$LF - bsr Write -f@ ldx <buffptr - clrb - puls a,pc - -* ReadLine - Read an entire string, up to CR -* Entry: X = address to place string being read (CR terminated) -* Y = maximum number of bytes to read (including nul byte) -ReadLine - ldx <buffptr - pshs y,x,a - ldy #80 -l@ bsr Read read 1 character - cmpa #C$CR carriage return? - beq e@ branch if so... - cmpa #$08 backspace? - beq bs@ - cmpy #$0000 anymore room? - beq l@ - leay -1,y back up one char - sta ,x+ and save in input buffer -m@ bsr Write echo back out - bra l@ -e@ sta ,x - bsr Write - lda #C$LF - bsr Write - clrb - puls a,x,y,pc -bs@ cmpx 1,s are we at start - beq l@ if so, do nothing - clr ,-x else erase last byte - lbsr Write write backspace - lda #C$SPAC a space... - lbsr Write write it - leay 1,y count back up free char - lda #$08 another backspace - bra m@ - ENDC - - ENDSECT
--- a/bootman/mach_coco.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ - NAM mach_coco - TTL CoCo machine routines - - SECTION code - -PIA0Base equ $FF00 -PIA1Base equ $FF20 - -mach_init: -* CoCo 1/2 Initialization Code - ldx #PIA1Base PIA1 - clr -3,x clear PIA0 Control Register A - clr -1,x clear PIA0 Control Register B - clr -4,x set PIA0 side A to input - ldd #$FF34 - sta -2,x set PIA0 side B to output - stb -3,x enable PIA0 peripheral reg, disable PIA0 - stb -1,x MPU interrupts, set CA2, CA1 to outputs - clr 1,x $FF20 = DDR, motoroff - clr 3,x $FF22 = DDR, sound disabled - deca A = $FE after deca - sta ,x bits 1-7 are outputs, bit 0 is input on PIA1 side A - lda #$F8 - sta 2,x bits 0-2 are inputs, bits 3-7 are outputs on B side - stb 1,x enable peripheral registers, disable PIA1 MPU - stb 3,x interrupts and set CA2, CB2 as outputs - clr 2,x set 6847 mode to alphanumeric - ldb #$02 - stb ,x make RS-232 output marking - clrb - tfr b,dp B = 0 - ldb #$04 - clr -2,x - bitb 2,x - - lda #$37 - sta PIA1Base+3 - - lda PIA0Base+3 - ora #$01 - sta PIA0Base+3 - - lda PIA1Base+2 - anda #$07 - sta PIA1Base+2 - -* 64K DRAM (M0=0, M1=1) - sta $FFDA RESET M0 - sta $FFDD SET M1 - - rts - - ENDSECT
--- a/bootman/mach_coco3.as Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ - NAM mach_coco - TTL CoCo machine routines - - SECTION code - -PIA0Base equ $FF00 -PIA1Base equ $FF20 -DAT.Regs equ $FFA0 - -mach_init: -* CoCo 3 Initialization Code - clr $FFD9 go into fast mode - -* Setup MMU - ldx #DAT.Regs - leay MMUTbl,pcr - ldb #16 -MMULoop lda ,y+ - sta ,x+ - decb - bne MMULoop - -* Setup video - leau CC3Regs,pcr point to video setup data - ldx #$FF90 -Loop1 ldd ,u++ get the bytes - std ,x++ save in the hardware - cmpx #$FFA0 - bcs Loop1 - -* Set palettes up - leau PalTbl,pcr - ldy #$FFB0 palette register - ldb #16 - lbsr CopyRtn - -* Initialize PIAs - ldx #PIA1Base RG - Initialize the PIA 1 - ldd #$FF34 - clr 1,x cassette motor off, 0,x is DDR - clr 3,x 2,x is DDR - deca A = $FE - sta ,x cassette bit 0 input, all others output - lda #$F8 bits 7-3 output, bits 2-0 input - sta 2,x set DDR - stb 1,x 0,x not DDR - stb 3,x 2,x not DDR - clr 2,x - lda #$02 RS-232 bit hi - sta ,x set it - - lda #$FF all outputs - ldx #PIA0Base - clr 1,x 0,x is DDR - clr 3,x 2,x is DDR - clr ,x all inputs - sta 2,x all outputs - stb 1,x 0,x is not DDR - stb 3,x 2,x is not DDR - clr 2,x - - rts - -CopyRtn clra - tfr d,x -Copy1 ldb ,u+ - stb ,y+ - leax -1,x - bne Copy1 - rts - -* MMU -MMUTbl - fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F - fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F - -* GIME register default values -CC3Regs fcb $EC CC2, MMU, IRQ, Vector page, SCS - fcb $00 map type 0 - fcb $00 no FIRQ - fcb $00 no IRQ - fdb $0900 timer - fcb $00 unused - fcb $00 unused - fcb $00 - fcb $00 - fcb $00 - fcb $00 - fdb $0FE0 - fcb $00 - fcb $00 - -* Palette register default colors -PalTbl - fcb $12 green - fcb $36 - fcb $09 blue - fcb $24 red - fcb $3F white - fcb $1B cyan - fcb $2D magenta - fcb $26 - fcb $00 black - fcb $12 green - fcb $00 black - fcb $3F white - fcb $00 black - fcb $12 green - fcb $00 black - fcb $26 - - - ENDSECT
--- a/bootman/makefile Sat Apr 05 10:15:01 2014 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -include ../rules.mak - -BOOTMAN = bootman_coco_6551 bootman_coco3_6551 - -all: $(BOOTMAN) - -bootman_coco_6551: bootman.o boot_config.o mach_coco.o llio_6551.o llbt_1773.o - $(LINKER) $^ -o$@ - -bootman_coco3_6551: bootman.o boot_config.o mach_coco3.o llio_6551.o llbt_1773.o - $(LINKER) $^ -o$@ - -dsk: $(BOOTMAN) - decb dskini bootman.dsk - decb copy -b -2 bootman_coco_6551 bootman.dsk,BM6551.BIN - decb copy -b -2 bootman_coco3_6551 bootman.dsk,BM36551.BIN - -dskclean: - $(RM) bootman.dsk - -clean: dskclean - $(RM) *.o bootman_coco_6551 bootman_coco3_6551 bootman.dsk