Home » RBC Forums » General Discussion » Interested in a Z280 SBC (Z280 SBC retrobrew (CPU280 Revival))
( ) 1 Vote
|
Re: Interested in a Z280 SBC [message #5485 is a reply to message #5482] |
Mon, 12 November 2018 09:34   |
hperaza
Messages: 68 Registered: March 2017
|
Member |
|
|
plasmo wrote on Mon, 12 November 2018 07:05I have coded up XMOVE using DMA and it is running. I still use GENCPM to take care of HASH, ALV, DIRBCB and DTABCB. I now ran into the same problem Tony has, i.e., when pip large file (help.hlp is my test file), it can't verify. However, I can pip small files without any issue. The one GENCPM option that seems to solve the problem is answering 'N' to the question 'Allocate buffers outside of Common (Y) ?'. I set up the disks with different combination of directory buffers, data buffers, and allocate buffers outside of common. Only the disks that have outside allocated buffers failed write verify. I'm using 3 banks of memory.
If you are using double-bit allocation vectors keep in mind that GENCPM has a bug that causes it to allocate the wrong vector size for double-bit ALV; be sure you allocate them by hand.
Quote:PS, I'm going to port the same software (slightly modified) to Z280 running in 8-bit Z80-compatible bus (https://github.com/Plasmode/ZZ80RC and see if it has the same problem.
The Zilog errata warns against running the Z280 in Z80-bus mode with the cache enabled. Have you come across the bug they describe?
|
|
|
Re: Interested in a Z280 SBC [message #5486 is a reply to message #5485] |
Mon, 12 November 2018 10:02   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
I am using GENCPM to allocate ALV and have had a problem when I copy very large file (1 meg) without verifying (it hangs, but if copy with verify it works), but that somehow went away in the latest version. I need to figure out how to allocate ALV by hand.
Alan Cox had warned me about Z280 cache problem in Z80-compatible mode. I had ZZ80RC for several months now, porting CP/M2.2, non-banked version of CP/M3, Wordstar, MBASIC, PTx music player, and had not encountered strange behaviors. I think the cache bug is fixed in later mask of Z280. It is getting to be my favorite board now.
Bill
[Updated on: Mon, 12 November 2018 10:06] Report message to a moderator
|
|
|
|
Re: Interested in a Z280 SBC [message #5488 is a reply to message #5487] |
Mon, 12 November 2018 14:14   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
hperaza wrote on Tue, 13 November 2018 08:48
I remember running into a similar problem when I was first developing a banked CP/M 3 BIOS for my P112: PIP corrupted files larger than a certain size during copy, and very large programs (e.g. HiTech C compiler) used to crash unexpectedly.
The problem had to do with the fact that in CP/M 3 the TPA extends above the application bank partially into the common area (unlike e.g. MP/M). Since the application bank is normally on bank 1 and the common area on bank 0, that means that the TPA is not contiguous in physical memory.
PIP apparently uses all the available memory as copy buffer, and when copying large files a file sector will land sooner or later within the crossing area between the two banks. Since the Z180 DMA can transfer data between physical addresses only, it could not copy such a sector correctly.
Since your BIOS is using DMA transfers, I suspect you may be running into the same problem.
One solution is to check for that particular case and then do two DMA transfers (the Z280 can chain two DMA channels for that purpose). A simpler (but slower) fix is to do a byte-by-byte copy from one bank to another (the Z280 ldup instruction will become handy here).
Hector - you've hit the nail on the head!
This is exactly what is happening to PIP - it tries to write a sector that crosses the common memory fence (in our case the 00E000h address). I'm coding up a quick fix which makes sure the interbank move is done with the TPA bank in-context (MMU move) - and the DMAXFR routine will need to check this too (Note-to-self: Physical memory addresses are not the same as Logical addresses! ...
Tony
--
Tony Nicholson
[Updated on: Mon, 12 November 2018 14:34] Report message to a moderator
|
|
|
Re: Interested in a Z280 SBC [message #5490 is a reply to message #5487] |
Mon, 12 November 2018 15:35   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
hperaza wrote on Mon, 12 November 2018 14:48agn453 wrote on Sun, 11 November 2018 21:49All this has fixed the Banked version that uses just bank 0 and 1 - see below (except for CP/M 3 PIP's verify error). The multi-bank version is still not working though.
I remember running into a similar problem when I was first developing a banked CP/M 3 BIOS for my P112: PIP corrupted files larger than a certain size during copy, and very large programs (e.g. HiTech C compiler) used to crash unexpectedly.
The problem had to do with the fact that in CP/M 3 the TPA extends above the application bank partially into the common area (unlike e.g. MP/M). Since the application bank is normally on bank 1 and the common area on bank 0, that means that the TPA is not contiguous in physical memory.
PIP apparently uses all the available memory as copy buffer, and when copying large files a file sector will land sooner or later within the crossing area between the two banks. Since the Z180 DMA can transfer data between physical addresses only, it could not copy such a sector correctly.
Since your BIOS is using DMA transfers, I suspect you may be running into the same problem.
One solution is to check for that particular case and then do two DMA transfers (the Z280 can chain two DMA channels for that purpose). A simpler (but slower) fix is to do a byte-by-byte copy from one bank to another (the Z280 ldup instruction will become handy here).
That's a great explanation to why PIP with verify of small files works, but not large files.
I do check the source & destination addresses of xmove to make sure it is not in the common memory. In fact that was the fix that solved the PIP-with-verify error. But do I need to check whether a single xmove call can have address started in banked memory but finished in the common memory?
Bill
|
|
|
Re: Interested in a Z280 SBC [message #5491 is a reply to message #5490] |
Mon, 12 November 2018 15:51   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Tue, 13 November 2018 10:35That's a great explanation to why PIP with verify of small files works, but not large files.
I do check the source & destination addresses of xmove to make sure it is not in the common memory. In fact that was the fix that solved the PIP-with-verify error. But do I need to check whether a single xmove call can have address started in banked memory but finished in the common memory?
Bill
Yes. For RAM disk, you need to check that reads/writes are using a buffer that is in bank 0 - and if it isn't then check if the buffer is straddling the commmon memory fence and take appropriate action to read/write below and above the fence.
Tony
--
Tony Nicholson
[Updated on: Mon, 12 November 2018 15:54] Report message to a moderator
|
|
|
Re: Interested in a Z280 SBC [message #5492 is a reply to message #5491] |
Mon, 12 November 2018 22:35   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
Success!!
My BIOS for the Z280RC now works for Banked memory (and no more CP/M 3 PIP verificaton errors).
Thanks to Hector for the hint about common memory boundary symptoms. I changed the BIOS to use the Z280's memory management to copy data between banks.
A zip file containing a snapshot of the source files is attached - or you can get the latest from https://github.com/agn453/Z280RC as I intend updating things some more (including enhancing the DMAXFR routine to cater for memory bank boundary defect).
Tony
TinyZZ Monitor v0.99 6/9/18
>boot CP/M
1--User Apps,
2--CP/M2.2,
3--CP/M3: 3 press Return to execute command
Boot LDRBIOS
CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.
RESBIOS3 SPR F700 0900
BNKBIOS3 SPR C500 1B00
RESBDOS3 SPR F100 0600
BNKBDOS3 SPR 9700 2E00
60K TPA
Z280RC Banked BIOS 13-Nov-2018
Built with Cache MOVE-w/MMU Cont.-DMA Alloc-CSV
Drives CompactFlash A:..D: RamDisk M:
C>; C:PROFILE.SUB
C>d:setdef * d: a: c: [order=(com,sub) display page uk]
Drive Search Path:
1st Drive - Default
2nd Drive - D:
3rd Drive - A:
4th Drive - C:
Search Order - COM, SUB
Console Page Mode - On
Program Name Display - On
Date format used - UK
C>date
D:DATE COM
Tue 13/11/2018 17:31:44
C>m1:
1M>pip m:=c:*.*[v]
A:PIP COM (User 0)
COPYING -
@BIOS280
CRCKLIST.CRC
BANKBIOS.LOG
BANKBIOS.SUB
BANKED.DAT
BANKED1.DAT
BDOS3.SPD
BDOS3.SPR
BIOS3.SPR
BIOS3.SYM
BIOSDBG.REL
BIOSDBG.MAC
BIOSDBG.PRB
BNK1BIOS.LOG
NBNKBIOS.LOG
IDEHD.MAC
BIOSKRNL.MAC
BIOSKRNL.REL
SCB.REL
LDRBIOS.LOG
SCB.PRN
BIOSKRNL.PRB
BIOSKRNL.PRN
IDEHD.PRN
IDEHD.REL
BNKBDOS3.SPD
BNKBDOS3.SPR
BNKBDOS3.SPZ
BNKBIOS3.SPR
BNKBIOS3.SYM
BUILDALL.SUB
CHARIO.REL
CHARIO.MAC
CHARIO.PRB
RAMDISK.PRN
CLOCK.REL
CLOCK.MAC
RAMDISK.REL
CLOCK.PRB
CLOCK.PRN
CHARIO.PRN
BIOSDBG.PRN
CPMLDR3.REL
CPM3ADD2.COM
CPM3ADD2.MAC
GENCPM.DAT
TEST.COM
CPM3M80.LIB
SCB.PRB
CPMLDR3.COM
CPMLDR3.MAC
CRCK.COM
Z280RCIO.LIB
DRI-CPM3.SUB
GENCPM.COM
IDEHD.PRB
RAMDISK.PRB
CONFBANK.LIB
LDRBIOS.SUB
MODEBAUD.LIB
NBNKBIOS.SUB
NONBANK.DAT
OUTJMPE.COM
OUTJMPE.PAS
RAMDISK.MAC
CONFNBNK.LIB
RESBDOS3.SPR
BNK1BIOS.SUB
CPM3NBNK.SYS
CONFIG.LIB
CPM3BANK.SYS
CPM3BNK1.SYS
CONFBNK1.LIB
CONFLDR.LIB
RESBDOS3.SPD
RESBDOS3.SPZ
SCB.MAC
USE-ZPM3.SUB
Z280DBG.COM
Z280DBG.MAC
1M>sd
A:SD COM (User 0)
Drive M1: files: 80 space used: 1332k (188k free)
@BIOS280. 4k | BNKBDOS3.SPR 16k | CPM3BANK.SYS 24k | NBNKBIOS.SUB 4k
BANKBIOS.LOG 8k | BNKBDOS3.SPZ 16k | CPM3BNK1.SYS 24k | NONBANK .DAT 4k
BANKBIOS.SUB 4k | BNKBIOS3.SPR 12k | CPM3M80 .LIB 8k | OUTJMPE .COM 12k
BANKED .DAT 4k | BNKBIOS3.SYM 4k | CPM3NBNK.SYS 12k | OUTJMPE .PAS 8k
BANKED1 .DAT 4k | BUILDALL.SUB 4k | CPMLDR3 .COM 8k | RAMDISK .MAC 12k
BDOS3 .SPD 12k | CHARIO .MAC 4k | CPMLDR3 .MAC 40k | RAMDISK .PRB 28k
BDOS3 .SPR 12k | CHARIO .PRB 16k | CPMLDR3 .REL 4k | RAMDISK .PRN 28k
BIOS3 .SPR 4k | CHARIO .PRN 16k | CRCK .COM 4k | RAMDISK .REL 4k
BIOS3 .SYM 4k | CHARIO .REL 4k | CRCKLIST.CRC 4k | RESBDOS3.SPD 4k
BIOSDBG .MAC 16k | CLOCK .MAC 12k | DRI-CPM3.SUB 4k | RESBDOS3.SPR 4k
BIOSDBG .PRB 48k | CLOCK .PRB 36k | GENCPM .COM 24k | RESBDOS3.SPZ 4k
BIOSDBG .PRN 48k | CLOCK .PRN 36k | GENCPM .DAT 4k | SCB .MAC 4k
BIOSDBG .REL 4k | CLOCK .REL 4k | IDEHD .MAC 24k | SCB .PRB 8k
BIOSKRNL.MAC 60k | CONFBANK.LIB 8k | IDEHD .PRB 60k | SCB .PRN 8k
BIOSKRNL.PRB 164k | CONFBNK1.LIB 8k | IDEHD .PRN 64k | SCB .REL 4k
BIOSKRNL.PRN 160k | CONFIG .LIB 8k | IDEHD .REL 4k | TEST .COM 8k
BIOSKRNL.REL 4k | CONFLDR .LIB 8k | LDRBIOS .LOG 8k | USE-ZPM3.SUB 4k
BNK1BIOS.LOG 8k | CONFNBNK.LIB 8k | LDRBIOS .SUB 4k | Z280DBG .COM 4k
BNK1BIOS.SUB 4k | CPM3ADD2.COM 4k | MODEBAUD.LIB 4k | Z280DBG .MAC 4k
BNKBDOS3.SPD 16k | CPM3ADD2.MAC 20k | NBNKBIOS.LOG 8k | Z280RCIO.LIB 8k
1M>
-
Attachment: bios280.zip
(Size: 186.91KB, Downloaded 437 times)
--
Tony Nicholson
[Updated on: Thu, 15 November 2018 14:49] Report message to a moderator
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5499 is a reply to message #5497] |
Tue, 13 November 2018 15:34   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
hperaza wrote on Wed, 14 November 2018 09:45Tony, just installed your banked BIOS on my Z280RC and so far is working perfectly!
The XMODEM problem is again the serial port speed, which was already on the edge. Very likely the new conin BIOS routine has an extra overhead which causes the next character to be missed. If the serial speed is lowered, or if the sending application on the PC side adds a small per-character delay, then the transfer will succeed.
That's great Hector - and I agree the XMODEM issues are related to the port speed and time critical issues with console I/O in the BIOSKRNL and CHARIO bios routines.
On another matter - last night I was trying to compile the source-code for Simeon Cran's ZPM3 BDOS with your ZSM4 beta 10. It throws up some M and D errors (long symbol names) that M80 doesn't. Perhaps you'd like to take a look at it. Probably it's too much work to make ZSM4 handle longer symbols - but you'd know best!
(The attached zpm3s.arc is from the Tesseract RCPM+ Volume 93)
Tony
-
Attachment: zpm3s.arc
(Size: 243.50KB, Downloaded 371 times)
--
Tony Nicholson
[Updated on: Tue, 13 November 2018 15:50] Report message to a moderator
|
|
|
Re: Interested in a Z280 SBC [message #5500 is a reply to message #5494] |
Tue, 13 November 2018 15:49   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Wed, 14 November 2018 03:23..snip..
The hardware will hang, some of the time (ctrl C does not get hardware's attention).
..snip.
Bill
Bill,
I meant to comment on this too.. CTRL-C won't get XMODEM's attention when using the BIOS CON: port for file transfer. If it is in the middle of receiving a packet then the only easy way out is to hit RESET. (The data transfer might have an 03h byte in the data it transfers via the console UART - so it can't see your CTRL-C until the protocol gets to a "start-of-packet" state).
Tony
--
Tony Nicholson
[Updated on: Tue, 13 November 2018 16:22] Report message to a moderator
|
|
|
Re: Interested in a Z280 SBC [message #5501 is a reply to message #5500] |
Tue, 13 November 2018 19:14   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
Tony,
I simplified your conin routine to check out the timing issue associated with XMODEM.
conin:
; console char into reg A
in a,(RxStat) ;;; read on-chip UART receiver status
and 10h ; data available?
jp z,conin
in a,(RxData) ; get it in Reg A
ret
XMODEM works with the simplified console input (this is the same routine in my CPM2.2) and I have experimentally verified that I can insert up to 15 NOP and it still works, but failed with 20 NOPs. That's not very much time to do anything significant in the conin routine.
This is useful because it checks out your CP/M3 implementation is good, that XMODEM failed only because of the console input delay, not because of other potential CP/M3 bugs.
Hector had raised a couple issues with the Z280RC and they are actually interconnected. The CF byteswap issue due to hardware design error can be fixed with software with about 5% performance penalty. The lack of hardware handshakes for console I/O is more difficult to fix and I have not spent much time on it. XMODEM is a critical capability so if XMODEM won't work because of more complex console I/O and lack of hardware handshake, then CF byte swap need to be fixed so files can be transferred from PC to Z280RC. It may be a good time to fix the CF byte order in CP/M3.
Bill
[Updated on: Tue, 13 November 2018 19:14] Report message to a moderator
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5504 is a reply to message #5501] |
Wed, 14 November 2018 02:21   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Wed, 14 November 2018 14:14Tony,
I simplified your conin routine to check out the timing issue associated with XMODEM.
conin:
; console char into reg A
in a,(RxStat) ;;; read on-chip UART receiver status
and 10h ; data available?
jp z,conin
in a,(RxData) ; get it in Reg A
ret
XMODEM works with the simplified console input (this is the same routine in my CPM2.2) and I have experimentally verified that I can insert up to 15 NOP and it still works, but failed with 20 NOPs. That's not very much time to do anything significant in the conin routine.
This is useful because it checks out your CP/M3 implementation is good, that XMODEM failed only because of the console input delay, not because of other potential CP/M3 bugs.
..snip..
I've modified the XMODEM 2.7 source to include Z280 UART character I/O routines internally.
Attached in a ZIP file containing the modified source code XM27Z280.MAC, a configuration file XMZ280RC.CFG with default configuration switches for the Z280RC, a submit file to build it from source using Hector's ZSM4 and pre-built binary XMZ280.COM).
To use it you can copy the XMZ280.COM to XM.COM (or XMODEM.COM) onto a drive in your search-path and place the XMZ280RC.CFG file in your current directory; then -
XM filename,ext /S will send a file from the Z280RC system,
or
XM filename.ext /R will receive a file to the Z280RC system.
If you don't have XMZ280RC.CFG in the current directory, you should add the command line switch /X3 to select the built-in I/O routines and /Z9 to set timeouts appropriately for the CPU speed -
e.g.
Enjoy!
Tony
-
Attachment: xm27z280.zip
(Size: 30.82KB, Downloaded 304 times)
--
Tony Nicholson
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5509 is a reply to message #5506] |
Wed, 14 November 2018 09:47   |
etchedpixels
Messages: 333 Registered: October 2015
|
Senior Member |
|
|
hperaza wrote on Wed, 14 November 2018 08:18etchedpixels wrote on Wed, 14 November 2018 06:47The Z280 UART is designed to be driven via a DMA channel. So you don't need to breadboard up a new UART so much as fix up the CP/M BIOS to use the DMA functionality at least on receive.
Not enough. With the BIOS overhead, fetching a char from the DMA buffer will take nearly as many CPU cycles as fetching it from an I/O port. Thus, when receiving a large block of data the buffer can overflow anyway before XMODEM has time to collect all bytes.
Yes, one can optimize the DMA buffer size for XMODEM's particular case, but sooner or later you'll come across an application that needs that additional byte...
No - on two counts
1. The protocol has internal flow control so the time you take to fetch the bytes is irrelevant to reliability providing they are buffered
2. The buffer size merely has to exceed the worst case window size of the protocol permitted to the sender it does not have to be 'tuned to the protocol'
Don't let me stop you wire wrapping yourself a UART but your worst case for a command to the CF card is 7 seconds so don't forget that detail either because even at 9600 baud thats 7000 characters of buffering so you might need to try 110 baud to be safe ;-)
In the real world however the protocols (X/Y/Z and everyone else) are all flow controlled so if your DMA buffer is 4K there isn't anything that's going to overflow (and btw as your link is direct and low latency the performance difference between Xmodem and the later ones is minimal so the extra buffering isn't even useful). The absolute worst case scenario would be ZModem with windowing doing a disk write to your CF card that caused the CF card to have to erase blocks and do compaction. In that case you'll end up with the sender data all in your DMA buffer and the sender waiting for you without any losses. You might not get 100% wire performance but you will get your data.
This is the same reason you can do 100Mbit ethernet with an 8bit microcontroller - providing you have at least a flow control window of reliable buffer it just works.
Alan
[Updated on: Wed, 14 November 2018 09:49] Report message to a moderator
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5515 is a reply to message #5507] |
Wed, 14 November 2018 12:01   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Thu, 15 November 2018 03:35Tony,
Thank you! XM27Z280 works great on your CP/M3. XMODEM is my most used tool, I wouldn't know what to do if it doesn't work. Just as importantly, I read your comments about using XIZ, wow, what a time saver!
Bill
The XIZ that Bill and I refer to is my favourite assembly language source code translator. It converts assembly language source files to/from 8080-style (but not all TDL/XITAN) to Zilog Z80 (suitable for M80, SLR Z80ASM, ZSM4 etc. It does a fairly good job - but the output sometimes needs to be fixed (especially op-codes starting in column 1) and some confusion with macros that produce Z80 code (e.g. JRNZ <-> JR NZ, The version I use is from a long time ago (circa April 1986) - attached is a ZIP.
If anyone has a later version (or the source-code) I'd love to modify it to output lowercase op-codes and save me from post-processing with a little TurboPascal I wrote to do this.
Tony
-
Attachment: xiz.zip
(Size: 11.42KB, Downloaded 292 times)
--
Tony Nicholson
[Updated on: Wed, 14 November 2018 12:04] Report message to a moderator
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5518 is a reply to message #5517] |
Wed, 14 November 2018 19:41   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
plasmo wrote on Thu, 15 November 2018 12:40Tony,
I have not thought too much about rev 2 of Z280RC. I like to have reasonable solutions for the existing concerns such as UART receive DMA as well as the inability to handle Mode 2 interrupt acknowledge. A forum member, I forgot whom, pointed out Tilmann Reh's solution which I thought was very clever and at the same time fix the problem of DS1302 RTC not being accurate.
Bill, I think I read somewhere that you can signal RETI by reading or writing to one of the Z80 device status registers. I'll have to dig out my old Zilog datasheets and take a look.
Quote:
I do have a software byteswap fix that I can post on my GitHub page as an alternative for people wanting to transfer files via moving the physical CF card between PC and Z280RC. I did a disk copy benchmark and which measured 39 seconds instead of 37 seconds without software byte swap--about 5% degradation which is smaller than speed variations among different brand of CF disks. It is a simple algorithm, but affect ZZMon and CP/M and all existing data. Another word, the CF disk needs to be initialized and loaded with new set of software and files.
That doesn't sound too nice. Up until now, I have made only image copies (using dd on Linux as a backup strategy) and loaded all my files to the Z280RC's drives using XMODEM (or PIP using its paper-tape era options to get Intel hex files across e.g. PIP filename.hex=CON:[HAZ] and raw-uploading .HEX files).
Quote:
My original directory setting and number and size of drives were arbitrary, which is rather frightening because I have had no prior CP/M experience! With CP/M3 it is a good time to change the directory entries and number of disk drives. My smallest CF disk is 64Meg, so we can have eight 8-meg drives and more directory entries. How do you initialize each drive?
Bill
I think it would be prudent to stick with the 512 directory entries for A: (at least). It's a common CP/M format used by many other systems with CompactFlash (e.g. other RC2014 systems).
I use disk utility (DU v8.8 You should be able to find DU88 (or DU90) on one of the CP/M public domain/shareware sites. If not I can upload it.
Just a moment ago I enabled the four extra drives with 1024 directory entries on my system. Here's the log of me "formatting" a drive -
CP/M V3.0 Loader
Copyright (C) 1998, Caldera Inc.
RESBIOS3 SPR F700 0900
BNKBIOS3 SPR BD00 2300
RESBDOS3 SPR F100 0600
BNKBDOS3 SPR 8F00 2E00
60K TPA
Z280RC Banked BIOS 15-Nov-2018
Built with Cache MOVE-w/MMU BigDirE-H Cont.-DMA Alloc-CSV
Drives CompactFlash A:..H: RamDisk M:
..snip..
C>show e:[dr
D:SHOW COM
E: Drive Characteristics
64,512: 128 Byte Record Capacity
8,064: Kilobyte Drive Capacity
1,024: 32 Byte Directory Entries
0: Checked Directory Entries
256: Records / Directory Entry
32: Records / Block
1,024: Records / Track
256: Reserved Tracks
512: Bytes / Physical Record
C>du
A:DU COM
DISK UTILITY v8.8
Universal Version under CP/M 3.1
Type ? for help
Type X to exit
:le <- Login drive E
:g0 <- Read Group 0
G=0000:00, T=256, S=1, PS=0
:ch0-7f,e5;w;+;/256 <- Change whole sector to E5, Write,
Next Sector, Repeat 256 times
0000000000000000F10000000B07FEFFFEFFFFFF00000000000000000000000000020100000B09FE
FFFEFFFFFF00000000000000000000000000130100000B0BFEFFFEFFFFFF00000000000000000000
000000240100000B0DFEFFFEFFFFFF000004051F01BF07FF01F0000000010002030004051F01DF07
FF01F00000004000G=0000:01, T=256, S=2, PS=0
02030004051F01DF07FF01F0000000800002030004051F01DF07FF01F0000000C00002030004051F
017F03FF01F00000000001020363007C009500AE00C7000000000000000000000000000000000000
0000000000310001CD08043EE2D3103E80D312D314AF320300320400213F04CD1E04310001210300
2201002A62FE2206G=0000:02, T=256, S=3, PS=0
003EC33200003205000624215C00CDBF03215C00360123119A04010B00CD6502115C000E0FCD0500
3CCAD201110001D50E1ACD0500115C000E14CD0500B7D1C2CA0121800019EBC3AF01FE01C2DB01C3
000121A504CD1E04C3010221C104CD1E04C301020E09CD05000E01CD0500C372010E34C3F8010E39
CD1502213504CD1EG=0000:03, T=256, S=4, PS=0
0418FEDB14E610C83EFFC9DB14E610CA0B02DB16C9DB12E601CA150279D318C93EFFC9AFC9210000
79FE05D032E404216300FE00C8217C00FE01C8219500FE02C821AE00FE03C821C700C9010000ED43
E504C9ED43E704C96069C9696022E904C9213501C9EBEDB0EBC93AE404FE04CAAE02E5C5CD13043E
40D3CD3AE704D3C7G=0000:04, T=256, S=5, PS=1
..snip..
:g0
G=0000:00, T=256, S=1, PS=0
:d
00 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
10 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
20 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
30 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
40 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
50 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
60 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
70 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
:x
C>initdir e:
A:INITDIR COM
INITDIR WILL ACTIVATE TIME STAMPS FOR SPECIFIED DRIVE.
Do you want to re-format the directory on drive: E (Y/N)? y
C>set e: [name=ide0.p04,create=on,update=on
D:SET COM
Label for drive E:
Directory Passwds Stamp Stamp Stamp
Label Reqd Create Access Update
-------------- ------- ------- ------- -------
E:IDE0 .P04 off on off on
C>show e:[dr,lab
D:SHOW COM
Label for drive E:
Directory Passwds Stamp Stamp
Label Reqd Create Update Label Created Label Updated
------------ ------- ------ ------ -------------- --------------
IDE0 .P04 off on on 15/11/18 14:20 15/11/18 14:20
E: Drive Characteristics
64,512: 128 Byte Record Capacity
8,064: Kilobyte Drive Capacity
1,024: 32 Byte Directory Entries
0: Checked Directory Entries
256: Records / Directory Entry
32: Records / Block
1,024: Records / Track
256: Reserved Tracks
512: Bytes / Physical Record
C>
Tony
--
Tony Nicholson
[Updated on: Wed, 14 November 2018 19:57] Report message to a moderator
|
|
|
|
|
|
|
|
|
Re: Interested in a Z280 SBC [message #5526 is a reply to message #5519] |
Thu, 15 November 2018 13:45   |
 |
agn453
Messages: 68 Registered: June 2018 Location: Newcastle, NSW, Australia
|
Member |
|
|
hperaza wrote on Thu, 15 November 2018 23:27
I'd go directly for 4096 directory entries - once you start copying files, assembling and/or compiling applications you will hit the 1024-entry limit very quickly
..snip..
Hector,
Having thought about this again I've elected to use 2048 directory entries. Going higher would mean I'd need to use a block size of 8192 (BLS) and I'd rather stick with 4096 so the small files aren't chewing up a bigger allocation.
Yet another aside - I noticed reference to RSX180 in your ZSM4 distribution. A DuckDuckGo search seems to only have a reference to your P112 site for a disk image (for the P112). Is this the PDP-11 RSX system migrated to a Z180? Over 40 years ago (around the time I was getting into microcomputers) I spent too much time after work hours tinkering on RSX-11M. Is the source code available? If you'd rather respond privately - use Tony dot Nicholson at computer dot org to reach me.
Tony
--
Tony Nicholson
[Updated on: Fri, 16 November 2018 03:18] Report message to a moderator
|
|
|
Current Time: Wed Mar 19 03:15:19 PDT 2025
Total time taken to generate the page: 0.01283 seconds
|