Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running UNARC unexpectedly causes ROM drive to show 'NO FILE' #496

Open
codesmythe opened this issue Jan 26, 2025 · 1 comment
Open

Running UNARC unexpectedly causes ROM drive to show 'NO FILE' #496

codesmythe opened this issue Jan 26, 2025 · 1 comment
Assignees
Labels

Comments

@codesmythe
Copy link

When running some of the ROM programs while testing a video driver, I ran across an issue where UNARC does something to make the contents of the ROM B: drive not available. This occurs when running the in-ROM CP/M 2.2 but not the in-ROM Z-System.

Quick steps:

  • Select 'c' at the RomWBW boot prompt to run the in-ROM CP/M 2.2
  • Do a 'dir' to see a file listing of ROM drive B:
  • Run 'UNARC' with no command line arguments
  • Do another 'dir' to see 'NO FILES'

My testing was on v3.5.0-beta.2, but I also see the issue on the 3.4.0 release "RomWBW HBIOS v3.4.0, 2024-04-20"

RomWBW HBIOS v3.5.0-beta.2, 2025-01-23

RCBus [RCZ80_std] Z80 @ 7.372MHz
0 MEM W/S, 1 I/O W/S, INT MODE 1, Z2 MMU
512KB ROM, 512KB RAM, HEAP=0x241A
ROM VERIFY: 00 00 00 00 PASS

CTC: IO=0x88 NOT PRESENT
LCD: IO=0xDA NOT PRESENT
SIO0: IO=0x80 SIO MODE=115200,8,N,1
SIO1: IO=0x82 SIO MODE=115200,8,N,1
DSRTC: MODE=STD IO=0xC0 NOT PRESENT
MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB
FD: MODE=RCWDC IO=0x50 NOT PRESENT
IDE: IO=0x10 MODE=RC
IDE0: NO MEDIA
IDE1: NO MEDIA
PPIDE: IO=0x20 PPI NOT PRESENT
SD: MODE=PIO IO=0x69 DEVICES=1
SD0: NO MEDIA
CH0: IO=0x3E NOT PRESENT
CH1: IO=0x3C NOT PRESENT
FP: IO=0x00 NOT PRESENT

Unit        Device      Type              Capacity/Mode
----------  ----------  ----------------  --------------------
Char 0      SIO0:       RS-232            115200,8,N,1
Char 1      SIO1:       RS-232            115200,8,N,1
Disk 0      MD0:        RAM Disk          256KB,LBA
Disk 1      MD1:        ROM Disk          384KB,LBA
Disk 2      IDE0:       Hard Disk         --
Disk 3      IDE1:       Hard Disk         --
Disk 4      SD0:        SD Card           --


RCBus [RCZ80_std] Boot Loader

Boot [H=Help]: c

Loading CP/M 2.2...

CBIOS v3.5.0-beta.2 [WBW]

Configuring Drives...

        A:=MD0:0
        B:=MD1:0

        4099 Disk Buffer Bytes Free

CP/M-80 v2.2, 54.0K TPA

B>dir
B: ASM      COM : CLRDIR   COM : COMPARE  COM : COPY     COM
B: DDT      COM : DDTZ     COM : DUMP     COM : ED       COM
B: FAT      COM : FDISK80  COM : FILEATTR COM : FILEDATE COM
B: FLASH    COM : INITDIR  COM : LDDS     COM : LDP2D    COM
B: LOAD     COM : MBASIC   COM : NULU     COM : PIP      COM
B: PUTDS    COM : RELOG    COM : STAT     COM : SUBMIT   COM
B: SUPERSUB COM : TD       COM : UNARC    COM : XSUB     COM
B: ZAP      COM : ZCAL     COM : ZDE      COM : ZPATH    COM
B: ZSCONFIG COM : ZXD      COM : ASSIGN   COM : MODE     COM
B: RTC      COM : SYSCOPY  COM : XM       COM : FDU      COM
B: FORMAT   COM : SURVEY   COM : SYSGEN   COM : TALK     COM
B: TIMER    COM : CPUSPD   COM : REBOOT   COM : CPM      SYS
B: ZSYS     SYS
B>unarc
UNARCU  Universal Archive File Extractor   Version 1.0
Usage:
   UNARCU {DU: or dir:}arcfile{.typ} {DU: or dir:}{afn.aft} {{/}options}
An ambiguous output filename (or no filename)
 implies archive directory display.
An output DU implies file extraction.
An unambiguous filename implies type-out.
Options:
   N   Don't Page screen output.
   C   Check validity of archive.
   E   Erase existing files without asking.
   P   Send output to printer.
Examples:
   B0>UNARCU A3:SAVE.ARK *.*  ; list all files in archive SAVE in A3
   A0>UNARCU SAVE *.DOC N     ; list just DOC files with no pauses
   A0>UNARCU SAVE READ.ME     ; type the file READ.ME to the screen
   A0>UNARCU SAVE C3:         ; extract all files to directory C3
   A1>UNARCU SAVE B:*.DOC     ; extract DOC files to directory B1
   A0>UNARCU SAVE PRN.DAT P   ; send the file PRN.DAT to the printer
   A0>UNARCU SAVE *.* C       ; check validity of all files in archive
Copyright 1986, 1987 by Robert A. Freed.
B>dir
NO FILE
B>     
@wwarthen
Copy link
Owner

Thanks for reporting this @codesmythe. I was able to reproduce the problem under CP/M 2.2.

The problem does not manifest itself when using any other OS (CP/M 3, Z-System, etc.) even though ZSDOS uses a binary identical CBIOS. I am suspicious that the problem is with UNARC itself.

Note that this version of UNARC has a long history (it is not the original UNARC) and has been enhanced in many ways to handle Z-System, file date stamping, etc.

Lars Nelson did the latest updates to it in 2023. I will probably reach out to him and see if he can take a look.

Thanks, Wayne

@wwarthen wwarthen self-assigned this Jan 27, 2025
@wwarthen wwarthen added the bug label Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants