Mounting RW image on VICE
- WARNING! This is a living document and information will change frequently. Please, subscribe for updates*****
Problem: Running ImageBBS v1.2a+ in VICE using tcpser incurs two problems: REL file corruption and datastream corruption using tcpser.
Hypothesis:
- Mount an msdos formatted image file or files to one or more of the available four drives to VICE. Method to be described below.
- Route emulated Swiftlink traffic to com port then have com port connected via TelBBS wire to a 2nd PC running BBS Server.
Thoughts:
- Filesystem:
- Mounting a directory in VICE allows the underlying operating system hosting VICE access to that directory. I feel this is what is causing the REL file difficulty. By mounting an "img" of the storage device, then access to the file system from the hosting system is denied. All access is through VICE.
- Internet Connection:
- I have witnessed datastream corruption in tcpser. The timing between VICE and the outside world doesn't work well consistently with tcpser. BBS Server is a known good. By routing the i/o through the host computers serial port then through the TelBBS wire, to a 2nd PC, you should be able to avoid this timing issue and provide a sustainable data stream.
Method: Run VICE v.3.2 on Ubuntu. Create SD Card with partitions using gparted. Partitions formatted as FAT32, 33MB. Block size of 512 Using DD, capture the image of the SD Card:
dd if=/dev/sd<Letter> of=<raw image filename.img>
To successfully mount the partitions, you need to know the offset. This is done by multiplying the valuse in the "Start" column by the I/O size, in this case, it is 512.
Disk BayouBBS_SD8.img: 14.9 GiB, 15931539456 bytes, 31116288 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x10f541c2 Device Start End Sectors Size Id Type offset =512*Start BayouBBS_SD8.img1 2048 69631 67584 33M b FAT32 1048576 BayouBBS_SD8.img2 69632 31115263 31045632 14.8G 5 Extended BayouBBS_SD8.img5 71680 139263 67584 33M b FAT32 36700160 BayouBBS_SD8.img6 141312 208895 67584 33M b FAT32 72351744 BayouBBS_SD8.img7 210944 278527 67584 33M b FAT32 108003328 BayouBBS_SD8.img8 280576 348159 67584 33M b FAT32 143654912 BayouBBS_SD8.img9 350208 417791 67584 33M b FAT32 179306496 BayouBBS_SD8.img10 419840 31115263 30695424 14.7G b FAT32 214958080
for the sake of automation:
parts.dat is a tab-delimited text file containing partition name and offset, one per line.
Such as:
system 1048576 plus_files 35651584 etc_user 72351744 ud-1 108003328 ud-2 143654912 mail 179306496 ux-dirs 214958080
mount_parts.sh contains the script to mount them all. (I should just have the parts.dat have the start and then have the script do the math!!)