Seagate BARRACUDA 18FC Manuel d'instructions

Naviguer en ligne ou télécharger Manuel d'instructions pour Cartes mères Seagate BARRACUDA 18FC. Seagate BARRACUDA 18FC Instruction manual Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer

Résumé du contenu

Page 1 - © 2014 by Donn Stewart

CPUville Z80 Computer Disk and Memory Expansion Instruction ManualBy Donn Stewart© 2014 by Donn Stewart1

Page 2 - Table of Contents

Testing and Using the Disk and Memory ExpansionThe following sections assume you are familiar with using the CPUville Z80 computer with the serial int

Page 3 - Introduction

Do the same with the serial interface board, on the right-side connectors. Do not connect a disk to the board at this time.The main computer should ha

Page 4

You see the same set of commands used in the monitor program version 7, with some new additions. They are diskrd, diskwr, and cpm.The diskrd commandTh

Page 5 - Building Tips

If the memory test fails, recheck the pins of the RAM ICs to make sure they are seated properly. If you cannot get it to work, please contact me for a

Page 6

make it as simple as possible. I did not have any need to use disk space efficiently – I was using a 1 Gb solid-state drive when I developed the syste

Page 7

If you are using a compact flash drive in an IDE adapter, you may be able to get power from pin 20 of the drive connector, instead of using separate w

Page 8

sector if you want to use this command to start the operating system. I suggest you do not try to preserve partitions on your disk, but rather dedicat

Page 9

You can use whatever pattern you like, but it should be easily recognizable.Now, write the memory page at 0x0800 to disk sector 0 using the diskwr com

Page 10

If you see your data pattern there, you know your disk is working properly, and you can read and write sectors. You can experiment with other patterns

Page 11

Permission to use CP/M for hobbyist and educational purposes has generally been granted freely, but since I am a commercial enterprise I cannot give y

Page 12 - Testing the memory expansion

Table of ContentsIntroduction...

Page 13 - Connecting a disk drive

CHKSUM1: ADD A,(HL) ;and compute sum ignoring carries. INC HL DEC C JP NZ,CHKSUM1 RET ;Those are the only code changes that must be made. However, as

Page 14

CMMND1: LD SP,CCPSTACK ;set stack straight. CALL CRLF ;start a new line on the screen. CALL GETDSK ;get current drive. ADD A,'a' CALL PRINT

Page 15 - Testing the Disk Drive

This is important to remember, because in order to prepare the disk, we will need to use the CBIOS calls for writing 0xE5 to the disks. That way, we w

Page 16

The Drive Activity LED should light up for about a minute and a half while the format program fills the CP/M disk with 0xE5. When the light goes off,

Page 17

Then, use bload to place the putsys.bin file into memory at location 0x0800:Now, run the putsys program at 0x0800. The drive activity light will light

Page 18 - Installing CP/M version 2.2

We will use the bload command to first place the file cpm_loader.bin into the computer memory, then use the diskwr command to put it into sector 0 on

Page 19

7. Run putsys.bin8. Load cpm_loader.bin at 0x08009. Write the memory page 0x0800 to disk sector 010. Reset the computer11. Start CP/M using the monito

Page 20

We can rename the file with the REN command:Note that the target file name comes first in the argument for the REN command. Each disk maintains a sepa

Page 21 - Preparing the disk for CP/M

You can see user 1 has no files on disk A. Now create a file, with the name test2.com. Switch back to user 0, and display the directory. You see only

Page 22

enter the disk letter followed by a colon:If you try to access a disk that is not available, you will get an error message. Hit return and the system

Page 23

IntroductionThe CPUville Disk and Memory Expansion Board is designed to provide the CPUville Z80 computer with 64K RAM memory and an IDE disk interfac

Page 24 - Installing the CP/M loader

binary file into memory at 0x0100 , switch to CP/M, and use the built in SAVE command to create a .COM file.So how to get the RAM monitor program itse

Page 25

Now we can safely load the RAM monitor into memory at 0xDBF2:31

Page 26 - Running CP/M

Then, we run some tiny code (again entered with the load command) to switch to memory configuration 1 and run the RAM monitor:0800 D3 01 out (1),A ;sw

Page 27

Now switch to CP/M by entering the monitor cpm command. When CP/M starts (it does a warm boot here), it copies its code from the disk to the memory lo

Page 28

Check the disk directory, and you will see the MONITOR.COM file in place. Once this file is on the disk, all we need to do is enter MONITOR at the CP/

Page 29 - Transient commands

commands can be obtained from The Unofficial CP/M Web Site. The binaries from a CP/M distribution disk are here: http://www.cpm.z80.de/download/cpm22-

Page 30

If you execute the STAT command, you can see how much room is available on the active CP/M disk:If you give STAT a file name argument, it will tell yo

Page 31

This concludes a description of the basics of using CP/M, including how to get binary files into the CP/M file system through the serial port of the Z

Page 32

Disk and Memory Expansion Schematics and ExplanationsIDE InterfaceThe IDE interface portion of the disk and memory is simpler than you might suppose.

Page 33

signals, with +5V and ground power lines, are brought to the disk and memory board through the P1 and P2 connectors. The data and control lines are pa

Page 34

software OUT instructions to port 0 or port 1, respectively. This system is necessary because the Z80 computer executes code starting at 0x0000 when t

Page 35

Memory Configuration LogicThis logic circuit creates the chip select signals for the ROM and RAM chips, depending on the configuration (see the Memory

Page 36

• Assert CS_ROM if Configuration is 0, Mem_Req is asserted, and the address is 0x0000 to 0x07FF – that is, if A11 to A15 are all zero.• Assert CS_RAM0

Page 37

Memory ICs and Configuration Flip-flopThe upper part of the schematic shows a logic circuit that creates a clock pulse that is fed to the configuratio

Page 38 - IDE Interface

logic seen in the previous schematic. The outputs of the chip select logic will select one of the three memory ICs, either the ROM, or one of the two

Page 39

Disk and Memory Expansion Parts Organizer and ListCapacitor, 0.01 uFceramic1Red LED22Resistor, 470 ohmYellow-Violet-Brown2DIL16 socket4DIL28 socket, 0

Page 40 - Memory Configuration Logic

Selected Program ListingsROM monitor3# File 2K_ROM_8.asm 0000 ;ROM monitor for a system with serial interface and IDE disk and memory expansion board.

Page 41

0005 d3 03 out (3),a ;write to control port 0007 3e 37 ld a,037h ;enable receive and transmit 0009 d3 03 out (3),a ;write to control port 000b c9 r

Page 42

0039 c9 ret 003a ; 003a ;Binary dump to port. Send a stream of binary data from memory to serial output 003a ;Address of dump passed in HL, length of

Page 43

006d 0c inc c ;inc counter 006e 3e 00 ld a,000h 0070 12 ld (de),a ;leaves zero-terminated string in buffer 0071 c3 52 00 jp get_line_next_char 0074 79

Page 44

00a7 e1 pop hl ;get string target address 00a8 77 ld (hl),a ;store second char of string 00a9 23 inc hl ;point to third location 00aa 3e 00 ld a,000h

Page 45 - Selected Program Listings

Building TipsSee the “Building Tips” section in the CPUville Z80 Computer Kit Instruction Manual for general help.The 40-pin IDE drive connector in th

Page 46

00d6 cb 27 sla a 00d8 cb 27 sla a 00da 57 ld d,a ;store high-nybble 00db 23 inc hl ;get next character of the pair 00dc 7e ld a,(hl) 00dd e5 push hl ;

Page 47

0129 21 08 db decimal_entry: ld hl,buffer 012c cd 4c 00 call get_line ;returns with DE pointing to terminating zero 012f 21 08 db ld hl,buffer 0132 cd

Page 48

0175 23 inc hl ;hl now points to next value 0176 22 04 db ld (value_pointer),hl 0179 2a 06 db ld hl,(current_value) ;get back current value 017c 3d de

Page 49

01d3 cd 0c 00 call write_char 01d6 c3 a7 01 jp dump_next_byte ;continue 01d9 3e 00 dump_new_line: ld a,000h ;reset line count to zero 01db 32 02 db ld

Page 50

022f ca 7b 02 jp z,load_done ;yes, quit 0232 32 09 db ld (buffer+1),a 0235 21 08 db ld hl,buffer 0238 cd c7 00 call hex_to_byte 023b da 71 02 jp c,loa

Page 51

0289 ;Subroutine to start a new line 0289 3e 0d write_newline: ld a,00dh ;ASCII carriage return character 028b cd 0c 00 call write_char 028e 3e 0a ld

Page 52

02cb db 0f in a,(0fh) ;check status 02cd e6 08 and 08h ;DRQ bit 02cf c2 c7 02 jp nz,read_loop ;loop until cleared 02d2 c9 ret 02d3 ; 02d3 ;Subroutine

Page 53

030f db 0f in a,(0fh) ;clear INTRQ 0311 c9 ret 0312 ; 0312 ;Strings used in subroutines 0312 .. 00 length_entry_string: defm "Enter length of fil

Page 54

0495 be match_loop: cp (hl) ;compare buffer char with match string char 0496 c2 a4 04 jp nz,no_match ;no match, go to next match string 0499 f6 00 or

Page 55

04d5 cd fe 00 call address_entry 04d8 cd 89 02 call write_newline 04db cd 13 02 call memory_load 04de c3 6f 04 jp monitor_warm_start 04e1 ; 04e1 ;Jump

Page 56

Once you have checked the parts you can start to solder them onto the circuit board.The easiest way to solder the components is to start with the shor

Page 57

0521 cd 18 00 call write_string 0524 cd fe 00 call address_entry 0527 cd 89 02 call write_newline 052a e5 push hl 052b 21 12 03 ld hl,length_entry_str

Page 58

0580 cd 89 02 call write_newline 0583 e5 push hl 0584 21 62 03 ld hl,LBA_entry_string 0587 cd 18 00 call write_string 058a cd 29 01 call decimal_entry

Page 59

05dc ; 05dc .. 00 monitor_message: defm "\r\nROM ver. 8\r\n",0 05eb .. 00 no_match_message: defm "? ",0 05ee .. 00 help_message:

Page 60

Customized BIOS# File z80_cbios.asm 0000 ; skeletal cbios for first level of CP/M 2.0 alteration0000 ; Modified for CPUville Z80 computer with IDE dis

Page 61

fa33 ; ibm-compatible 8" disks fa33 ; no translations fa33 ; fa33 ; disk Parameter header for disk 00 fa33 00 00 00 00 dpbase: defw 0000h, 0000h

Page 62

fa96 c0 defm 192 ;alloc 0 fa97 00 defm 0 ;alloc 1 fa98 00 00 defw 0 ;check size fa9a 02 00 defw 2 ;track offset fa9c ; fa9c ; end of fixed tables fa9c

Page 63 - Customized BIOS

face ; face ; no error, move to next sector face e1 pop HL ;recall dma address facf 11 80 00 LD DE, 128 ;dma=dma+128 fad2 19 ADD HL,DE ;new dma addres

Page 64

fb03 ; fb03 01 80 00 LD BC, 80h ;default dma address is 80h fb06 cd 77 fb call setdma fb09 ; fb09 fb ei ;enable the interrupt system fb0a 3a 04 00 LD

Page 65

fb3b c9 ret fb3c ; fb3c list: ;list character from register c fb3c 79 LD a, c ;character to register a fb3d c9 ret ;null subroutine fb3e ; fb3e

Page 66

fb57 3a 35 fc LD A,(diskno) fb5a 6f LD l, a ;l=disk number 0, 1, 2, 3 fb5b 26 00 LD h, 0 ;high order zero fb5d 29 ADD HL,HL ;*2 fb5e 29 ADD HL,HL ;*

Page 67

The ICs can be soldered directly to the board without fear of damage if you use a 15-watt or smaller soldering iron.3. The resistor network can be sol

Page 68

fb7d ;Return a 00h in register a if the operation completes properly, and 0lh if an error occurs during the read. fb7d ;Disk number in 'diskno&ap

Page 69

disk fbc7 11 72 fd ld de,hstbuf ;host buffer fbca 06 80 ld b,128 ;size of CP/M sector fbcc 1a rd_sector_loop: ld a,(de) ;get byte from host buffer fbc

Page 70

fc02 d3 0c out (0ch),a ;lba bits 8 - 15 = "track" fc04 3a 35 fc ld a,(diskno) fc07 d3 0d out (0dh),a ;lba bits 16 to 20 used for "disk&

Page 71

fd32 00... chk00: defs 16 ;check vector 0 fd42 00... chk01: defs 16 ;check vector 1 fd52 00... chk02: defs 16 ;check vector 2 fd62 00... chk03: defs

Page 72

0823 3a 65 08 sector_loop: ld a,(sector) 0826 4f ld c,a ;CP/M sector 0827 cd 21 fa call setsec 082a ed 4b 67 08 ld bc,(address) ;memory location 082e

Page 73

Putsys# File putsys.asm 0000 ;Copies the memory image of CP/M loaded at E400h onto tracks 0 and 1 of the first CP/M disk 0000 ;Load and run from ROM m

Page 74

083f ;Write track 1, sectors 1 to 25 083f 0e 01 wr_trk_1: ld c,1 0841 cd 1e fa call settrk 0844 2a 81 08 ld hl,(address) 0847 11 80 00 ld de,128 084a

Page 75

0000 ;This program is loaded into LBA sector 0 of disk, read to loc. 0800h by ROM and executed. 0000 hstbuf: equ 0900h ;will put 256-byte raw sector

Page 76 - CP/M loader

0855 19 add hl,de 0856 22 86 08 ld (dmaad),hl 0859 c3 40 08 jp rd_trk_1_loop 085c d3 01 done: out (1),a ;switch memory config to all-RAM 085e c3 00 f

Page 77

# End of file cpm_loader.asm 088879

Page 78

6. The capacitor is next. It does not have to be oriented.7. Before you solder the 40-pin disk drive connector, take a moment to think about how you w

Page 79 - # End of file cpm_loader.asm

Table of Tested Disk DrivesDrive Year of manufacture Size Passed diskrd/diskwr test CP/M installed successfullyMechanical Hard Disk DrivesSeagate ST32

Page 80 - Table of Tested Disk Drives

preserve disk contents)Fujitsu MPE3102AT 1999 10.2 Gb Yes YesSeagate Barracuda ATA V Model ST380023A2003 80 Gb Yes YesMaxtor DiamondMax Plus 82003 40

Page 81

If you have a drive with a non-keyed connector, or one that can use the +5V supplied through pin 20, you should leave it in. If you remove pin 20 with

Commentaires sur ces manuels

Pas de commentaire