changeset 2607:689bd978867f

Moved to ToolShed
author Boisy Pitre <boisy.pitre@nuance.com>
date Mon, 30 Jan 2012 23:24:54 -0600
parents 23bfa8f52dd3
children ca1f56f8b646
files dw3dos/defsfile dw3dos/dw3dos.asm dw3dos/hdbdoscc1.bin dw3dos/hdbdoscc2.bin dw3dos/hdbdoscc3.bin dw3dos/hdbdosdw1.bin dw3dos/hdbdosdw3.bin dw3dos/hdbdosdw4.bin dw3dos/makefile
diffstat 9 files changed, 0 insertions(+), 563 deletions(-) [+]
line wrap: on
line diff
--- a/dw3dos/defsfile	Mon Jan 30 22:24:24 2012 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-         use   os9defs
-         use   scfdefs
-         use   rbfdefs
-         use   systype
-         use   vtiodefs_cc3
--- a/dw3dos/dw3dos.asm	Mon Jan 30 22:24:24 2012 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,421 +0,0 @@
-********************************************************************
-* DW3DOS - DriveWire 3 DOS Command
-*
-* $Id$
-*
-* DW3DOS emulates the RS-DOS 'DOS' command, which obtains 18 256-byte
-* sectors from track 34 of a disk and reads them into memory starting
-* at $2600.  Once all sectors have been read, control jumps to $2602.
-*
-* The flexibility that is inherent in the DriveWire design is that it
-* allows a CoCo to boot into OS-9 or any other control program that might
-* be desirable.
-*
-* Four ROMS can be made from this source:
-*
-*   - CoCo 3 motherboard ROM (32K)
-*   - CoCo 1/2 motherboard ROM (16K)
-*   - CoCo 3 Disk Controller ROM (8K) (define DISKROM)
-*   - CoCo 1/2 Disk Controller ROM (8K) (define DISKROM)
-*
-* Two LOADM files can be made also:
-*
-*   - CoCo 3 LOADMable BIN (define BIN)
-*   - CoCo 1/2 LOADMable BIN (define BIN)
-*
-* Also, two files can be made from this source:
-*
-*   - CoCo 3 DOS track (4608 bytes) (define DOSTRACK)
-*   - CoCo 1/2 DOS track (4608 bytes) (define DOSTRACK)
-*
-* Edt/Rev  YYYY/MM/DD  Modified by
-* Comment
-* ------------------------------------------------------------------
-*          2008/02/04  Boisy G. Pitre
-* Adapted for DriveWire 3 protocol
-
-         nam   DW3DOS
-         ttl   DriveWire 3 DOS Command
-
-         ifp1  
-         IFNE  BIN
-IntMasks equ   $50
-Carry    equ   1
-PIA0Base equ   $FF00
-PIA1Base equ   $FF20
-DAT.Regs equ   $FFA0
-E$NotRdy equ   246
-         ELSE
-         use   defsfile
-         ENDC
-         use   ../defs/dwdefs.d
-         endc  
-
-* Set up Level definition for low level read/write routines
-         IFEQ  CoCo-3
-Level    equ   2
-         ELSE
-Level    equ   1
-         ENDC
-
-         IFNE  DOSTRACK
-Top      equ   $2600
-         ELSE
-         IFNE  BIN
-Top      equ   $2400
-         ELSE
-         IFNE  DISKROM
-Top      equ   $C000
-         ELSE
-Top      equ   $8000
-         ENDC
-         ENDC
-         ENDC
- 
-         org   Top
-         IFNE  DISKROM
-         fcc   "DK"
-         lbra  Entry
-         fill  $FF,9*256	spaced out to prevent CoCo 3 BASIC ROM patches
-         ELSE
-         fcc   /OS/
-         bra   PreEntry
-         fdb   $1205
-* For the DOS track, we have to copy the DW3DOS code to another
-* address and execute from there, since the boot track we pull
-* from DriveWire will need to reside at $2600 (and we are now!)
-PreEntry
-         leax  Entry,pcr
-         ldy   #$2000
-         ldd   #csize
-PreCopy  ldu   ,x++
-         stu   ,y++
-         subd  #$0002
-         bpl   PreCopy
-         jmp   $2000
-         ENDC
-
-* Entry point
-Entry    orcc  #IntMasks	disable FIRQ, IRQ
-         lds   #$1FFF		set up a stack pointer
-
-         IFEQ  CoCo-3
-
-* 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
-
-         ELSE
-
-* 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
-
-         ENDC
-
-* Show Boot Message
-* VDG Mode
-         sta   $FFC0
-         sta   $FFC2
-         sta   $FFC4
-
-* Locate Boot Text Screen at $0000
-         ldx   #$FFC6
-         ldb   #$07
-ScrLoop  sta   ,x++
-         decb
-         bne   ScrLoop
-
-* Clear VDG screen
-         ldx   #$0000
-         ldy   #256
-         ldd   #$6060
-VDGClr   std   ,x++
-         leay  -1,y
-         bne   VDGClr
-
-* Copy Booot Message to screen area
-         ldy   #$10A
-         leau  BootMsg,pcr
-         ldb   #BootMLen
-         bsr   CopyRtn
-
-* Spin for a while so that the RS-232 bit stays hi for a time
-Reset
-         ldx   #$A000
-Spin     leax  -1,x
-         bne    Spin
-
-Counter  equ   $1FFF
-         lds   #$1FFE		reset stack pointer
-
-* DriveWire bootstrap code
-* Get sectors 612-629 to $2600
-DWDOS2   ldx   #612		starting sector number
-         ldy   #$2600		memory address
-DOSLoop  bsr   DoRead		read sector (into Y)
-         bcs   Failed		start all over
-         cmpx  #612		our first sector?
-         bne   DWDOS3		branch if not
-         ldd   $2600		else get two bytes at $2600
-         cmpd  #$4F53		OS?
-         bne   Failed		if not, bad data... fail
-DWDOS3   leax  1,x		else increment X
-         leay  256,y
-         cmpx  #630		are we at end of 18 sectors?
-         blt   DOSLoop		branch if not
-         
-         jmp   $2602
-
-CopyRtn  clra
-         tfr   d,x
-Copy1    ldb   ,u+
-         stb   ,y+
-         leax  -1,x
-         bne   Copy1
-         rts
-
-* Copy "FAILED" to screen area
-Failed   ldy   #$14D
-         leau  FailMsg,pcr
-         ldb   #FailMLen
-         bsr   CopyRtn
-Hang     bra   Hang
-
-
-
-DoRead   clra			drive #
-         clrb			LSN bits 23-16
-         pshs  d,x,y
-         lda   #OP_READEX
-ReRead   pshs  a
-         leax  ,s
-		 ldy   #$0005
-		 lbsr  DWWrite
-		 puls  a
-
-		 ldx   4,s			get read buffer pointer
-		 ldy   #256			read 256 bytes
-		 ldd   #133*1		1 second timeout
-		 bsr   DWRead
-         bcs   ReadEx
-         bne   ReadEx
-* Send 2 byte checksum
-		 pshs  y
-		 leax  ,s
-		 ldy   #2
-		 lbsr  DWWrite
-		 ldy   #1
-		 ldd   #133*1
-		 bsr   DWRead
-		 leas  2,s
-		 bcs   ReadEx
-                 bne   ReadEx
-* Send 2 byte checksum
-		 lda   ,s
-		 beq   ReadEx
-		 cmpa  #E_CRC
-		 bne   ReadErr
-		 lda   #OP_REREADEX
-		 clr   ,s
-		 bra   ReRead  
-ReadErr  comb
-ReadEx	 puls  d,x,y,pc
-
-         IFEQ  DW4-1
-         use   ../level1/modules/dw4read.asm 
-         use   ../level1/modules/dw4write.asm 
-         ELSE
-         use   ../level1/modules/dwread.asm 
-         use   ../level1/modules/dwwrite.asm 
-         ENDC
-
-         IFEQ  CoCo-3
-* 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
-
-         ENDC
-
-* Boot Message
-BootMsg  fcc    /DWs/
-         fcb    $60
-         fcc    /CC/
-         fcb    112+CoCo
-         fcb    $60
-         fcc    /BOOT/
-BootMLen equ    *-BootMsg
-
-* Fail Message
-FailMsg  fcc    /FAILED/
-FailMLen equ    *-FailMsg
-
-csize    equ   *-Entry
-eom      equ   *
-
-* Fill pattern
-         IFEQ   BIN
-         IFNE   DOSTRACK
-         fill   $FF,$1200-eom
-         ELSE
-         IFNE   DISKROM
-         fill   $FF,$1FF0-eom
-         ELSE
-         IFEQ   CoCo-3
-         fill   $FF,$7FF0-eom
-         ELSE
-         fill   $FF,$3FF0-eom
-         ENDC
-         ENDC
-
-         IFEQ   CoCo-3
-
-* CoCo 3 ROM vectors
-         fdb	$0000
-         fdb	$FEEE
-         fdb	$FEF1
-         fdb	$FEF4
-         fdb	$FEF7
-         fdb	$FEFA
-         fdb	$FEFD
-         fdb	Entry+Top
-
-         ELSE
-
-* CoCo 1/2 ROM vectors
-         fdb	Entry+Top
-         fdb	$0100
-         fdb	$0103
-         fdb	$010F
-         fdb	$010C
-         fdb	$0106
-         fdb	$0109
-         fdb	Entry+Top
-
-         ENDC
-         ENDC
-         ENDC
-
-         end   PreEntry
-
Binary file dw3dos/hdbdoscc1.bin has changed
Binary file dw3dos/hdbdoscc2.bin has changed
Binary file dw3dos/hdbdoscc3.bin has changed
Binary file dw3dos/hdbdosdw1.bin has changed
Binary file dw3dos/hdbdosdw3.bin has changed
Binary file dw3dos/hdbdosdw4.bin has changed
--- a/dw3dos/makefile	Mon Jan 30 22:24:24 2012 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-include $(NITROS9DIR)/rules.mak
-
-DEPENDS		= ./makefile
-BF68L1		= $(LEVEL1)/coco/bootfiles
-MD68L1		= $(LEVEL1)/coco/modules
-BF68L2		= $(LEVEL2)/coco3/bootfiles
-MD68L2		= $(LEVEL2)/coco3/modules
-BF63L2		= $(LEVEL2)/coco3_6309/bootfiles
-MD63L2		= $(LEVEL2)/coco3_6309/modules
-
-ROMS		= dw3dos_mb_cc3.rom dw3dos_mb_cc2.rom dw3dos_mb_cc1.rom \
-		dw3dos_dsk_cc3.rom dw3dos_dsk_cc2.rom dw3dos_dsk_cc1.rom \
-		dw3doscc3.bin dw3doscc2.bin dw3doscc1.bin \
-		dw4dos_mb_cc3.rom dw4dos_mb_cc2.rom \
-		dw4dos_dsk_cc3.rom dw4dos_dsk_cc2.rom \
-		dw4doscc3.bin dw4doscc2.bin
-
-CASSFILES	= hdbdw1.wav hdbdw3.wav hdbdw4.wav dw3doscc1.wav dw3doscc2.wav dw3doscc3.wav \
-		dw4doscc2.wav dw4doscc3.wav	
-
-TRACKS		= dw3dos_cc3.trk dw3dos_cc2.trk dw3dos_cc1.trk \
-		dw4dos_cc3.trk dw4dos_cc2.trk
-
-ALLOBJS		= $(ROMS) $(CASSFILES) $(TRACKS)
-
-all:	banner $(ALLOBJS) $(DEPENDS) 
-
-banner:
-	@$(ECHO) "**************************************************"
-	@$(ECHO) "*                                                *"
-	@$(ECHO) "*          DriveWire 3/4 DOS Files               *"
-	@$(ECHO) "*                                                *"
-	@$(ECHO) "**************************************************"
-
-dsk:	objs
-
-# HDB-DOS DW Cassette Files
-hdbdw1.wav: hdbdosdw1.bin
-	dd if=$< bs=1 skip=5 of=hdbtmp count=8240
-	makewav hdbtmp -r -d0x4fd0 -e0x4fd0 -o$@ -nHDBDW3C1
-	rm hdbtmp
-
-hdbdw3.wav: hdbdosdw3.bin
-	dd if=$< bs=1 skip=5 of=hdbtmp count=8240
-	makewav hdbtmp -r -d0x4fd0 -e0x4fd0 -o$@ -nHDBDW3
-	rm hdbtmp
-
-hdbdw4.wav: hdbdosdw4.bin
-	dd if=$< bs=1 skip=5 of=hdbtmp count=8240
-	makewav hdbtmp -r -d0x4fd0 -e0x4fd0 -o$@ -nHDBDW4
-	rm hdbtmp
-
-# DW3DOS ROMs
-dw3dos_mb_cc3.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3
-
-dw3dos_mb_cc2.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2
-
-dw3dos_mb_cc1.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=1
-
-dw3dos_dsk_cc3.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aDISKROM=1
-
-dw3dos_dsk_cc2.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aDISKROM=1
-
-dw3dos_dsk_cc1.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=1 -aDISKROM=1
-
-dw3doscc3.bin:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aBIN=1 -mb
-
-dw3doscc2.bin:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aBIN=1 -mb
-
-dw3doscc1.bin:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=1 -aBIN=1 -mb
-
-dw3doscc3.wav:	dw3doscc3.bin
-	makewav $< -r -d0x2400 -e0x2400 -o$@ -nDW3DOSC3
-
-dw3doscc2.wav:	dw3doscc2.bin
-	makewav $< -r -d0x2400 -e0x2400 -o$@ -nDW3DOSC2
-
-dw3doscc1.wav:	dw3doscc1.bin
-	makewav $< -r -d0x2400 -e0x2400 -o$@ -nDW3DOSC1
-
-# DW4DOS ROMs
-dw4dos_mb_cc3.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aDW4=1
-
-dw4dos_mb_cc2.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aDW4=1
-
-dw4dos_dsk_cc3.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aDISKROM=1 -aDW4=1
-
-dw4dos_dsk_cc2.rom:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aDISKROM=1 -aDW4=1
-
-dw4doscc3.bin:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aBIN=1 -mb -aDW4=1
-
-dw4doscc2.bin:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aBIN=1 -mb -aDW4=1
-
-dw4doscc3.wav:	dw3doscc3.bin
-	makewav $< -r -d0x2400 -e0x2400 -o$@ -nDW3DOSC3
-
-dw4doscc2.wav:	dw3doscc2.bin
-	makewav $< -r -d0x2400 -e0x2400 -o$@ -nDW3DOSC2
-
-# DW3DOS Tracks
-dw3dos_cc3.trk:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aDOSTRACK
-
-dw3dos_cc2.trk:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aDOSTRACK
-
-dw3dos_cc1.trk:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=1 -aDOSTRACK
-
-# DW4DOS Tracks
-dw4dos_cc3.trk:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=3 -aDOSTRACK -aDW4=1
-
-dw4dos_cc2.trk:	dw3dos.asm
-	$(AS) $(ASOUT)$@ $< $(AFLAGS) -aCoCo=2 -aDOSTRACK -aDW4=1
-
-drivewire.zip: $(ALLOBJS)
-	zip $@ $(ALLOBJS)
-
-clean:
-	$(RM) $(ALLOBJS) drivewire.zip
-