C-128 CP/M REU Quick Patches -Beyond-512k+ and 1764 REU Filesystem Fix v1.0 BETA

Started by XmikeX, November 29, 2010, 09:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

XmikeX

To Whom It May Concern:

I recently got back into CP/M thanks to the VICE x128 emulator.  Almost immediately I felt the same "lack of drive space" pain that I felt years ago.  VICE has support for large REUs.  I scanned the net for patches or system builds relevant to the REU filesystem but I did not find any.  Therefore, I decided to perform some Ramdisk DPB patching myself.  I think the snippet of text below summarizes things best.

(( Before anyone suggests the MYZ80 environment (which I have already), let me just state that I get goose-pimples only with that special C128 CP/M magic.. ))

The much-more-complete text file is located @:
http://starbase.globalpc.net/~xmx/C128_CPM_REU_Patches-XmX.txt

Pics @
http://starbase.globalpc.net/~xmx/C128_CPM_REU_Patches-XmXa.png
http://starbase.globalpc.net/~xmx/C128_CPM_REU_Patches-XmXb.png

XmX
----

; C-128 CP/M REU Quick Patches -- Beyond-512k+ and 1764 REU Filesystem Fix v1.0 BETA -- XmikeX
;
;
; CP/M REU Patches? What is this for?
;
;   Ram Expansion Unit filesystem modifications for C-128 CP/M, involving 1764 REU and modded REUs. Simple as that.
;
;
; Why did this come about?
;
;   1) I have been irritated for years at the lack of decent drivespace under C-128 CP/M.
;   2) I never got around to creating a real REU to 1 or 2M, or buying an equivalent product from CMD, etc.
;   3) I 'noticed' VICE x128 could boot/run CP/M.
;   4) I 'remembered' VICE provided "up to" 16M REU.
;   5) I did not find any 'Greater-Than-512k-REU' CP/M builds or patches on the net. (Do builds/patches exist elsewhere?)
;   6) VICE x128 z80 ( @ ALT-WARP!! ) is comfortably faster than the real thing.
;   7) Data from the CP/M 3 system guide is available on the net (i.e., better than flipping through that heavy thing in real life).
;   8) Praising VICE 1000x times a day and chatting endlessly about CP/M will ensure that IRCNET #c-64 goes into severe spasms.
;
;
; This seems like a lengthy piece of documentation. How far along is this project?
;
;   1) Quick Patches are done for now. There are limitations to patching, and further modifications (for the sake of sanity) are
;   likely better done with a rebuild of the CP/M operating system.  The information provided in this text is relevant for that as well.
;   2) This text is my attempt at trying to get everything I've learned relevant to this project into one location, before my memory fades
;   on the subject.
;
;
; Obviously, you've tried these mods in VICE. Have you tried them on real C-128/REU hardware or 16M "REU" provided by the 1541u I/II device?
;
;   1) No.
;   2) Not Yet.
;   3) Do 1541u's even work in C-128 / 128 mode at all?
;
;
; Do these patches check REU Size and set up the filesystem accordingly?
;
;   No. You apply the patches yourself to match your particular hardware.
;   The only exception here is the original check for the 1700 REU which we've left alone and should work as always.
;
;
; Are you a CP/M 'Guru'? Where did you get this information from?
;
;   No. I do not claim mastery of the CP/M 3.0 filesystem or its implementation on the C-128. I may have committed significant errors here. =)
;    This file contains information sourced from the CPM 3.0 System Guide, The Computer Journal, the C-128 CPM3 source code, the manual
;   page in cpmtools_2.7-1_i386, random-ish musings from the net, trial/error, and my interpretations in general.
;
;
; Ok. Ok. I don't want to read this further, just gimmie the patches.
;
;   The relevant hex string on an unmodified CP/M System Disk with REU Support is:
;         0200040F01FF007F00C000008000000101   - Original 512k REU DPB
;         ('Modified' system builds that have left the 512k REU DPB untouched should naturally retain the string above).
;
;   Find the string above with a Hex Editor, on your disk image or actual disk, and replace with one of the following:
;         0200030700FF007F00F000008000000101   - 256k REU hex patch
;         0200040F00FF017F00C000008000000101   -   1M REU hex patch
;         0200040F00FF037F00C000008000000101   -   2M REU hex patch
;          0200040F00FF077F00C000008000000101   -   4M REU hex patch
;         0200051F01FF077F008000008000000101   -   8M REU hex patch
;         0200063F03FF077F008000008000000101   -  16M REU hex patch
;
;   The remainder of this text will explain why there are some limitations with these patches (e.g., 128 Dir Entry Max).
;
;
; Errors? Is there a warranty or guarantee?
;
;   There is no warranty or guarantee of any kind associated with any and all bits of information presented in this text file.
;         You assume liability/responsibility for any real or imagined:
;         1) inconvenience(s),
;         2) annoyance(s),
;         3) data loss, and
;         4) all imaginable and unimaginable consequences arising from the use or misuse of information presented here.
;
;                                    -- XmikeX, November 27, 2010.
;
;--