Re: Gemini 80-Bus System
1 Attachment(s)
I have extracted from the archive the format program for the gemini... please find here.
Extract from zip archive and then download into RP/M at location 100 and execute. Works under CP/M and so will probably work under RP/M. It accesses the controller directly. This might allow you to create blank disks (I hope). |
Re: Gemini 80-Bus System
Many thanks John, really appreciated, I clearly have quite a bit to digest and some learning still to do.
I have the Gotek connected and have configured the raw image settings for a double sided 35 track disk with 10 sectors per track, 512 bytes per sector. The track layout is set to interleaved cylinder ordering: c0s0, c0s1, c1s0, c1s1, ... I have also ensured that index pulses are not suppressed. I am coming to the conclusion that the DMP disk images I have are Anadisk formatted images, and, based on the Anadisk documentation means that the tracks may need to be shuffled around as you suggested in an earlier post. I will look at this next. Just in case you are unfamiliar, the Anadisk header is defined as follows: # ACYL Actual cylinder, 1 byte # ASID Actual side, 1 byte # LCYL Logical cylinder; cylinder as read, 1 byte # LSID Logical side; or side as read, 1 byte # LSEC Sector number as read, 1 byte # LLEN Length code as read, 1 byte # COUNT Byte count of data to follow, 2 bytes.If zero, no data is contained in this sector. At the moment I am unable to use XBeaver as I have no keyboard input. I am using KDE though. I will spend some time with this also. Naturally I will keep you posted. Once again, many thanks for the help. John |
Re: Gemini 80-Bus System
In an attempt to understand the DMP format track/sector ordering I discovered this sentence in the Anadisk documentation which I thought may be worth sharing.
All sectors occurring on a side will be grouped together; however, they will appear in the same order as they occurred on the diskette. Therefore, if an 8 sector-per-track diskette were scanned which had a physical interleave of 2:1, the sectors might appear in the order'~ 1,5,2,6,3,7,4,8 in the DOS dump file. |
Re: Gemini 80-Bus System
John, a quick update: xbeaver is now running properly under TWM on my Arch Linux machine.
Just in case it helps anyone, TWM seems to have an issue if a locale is anything other than en-US-UTF-8 is used. Even having both en-GB-UTF-8 and en-US-UTF-8 defined seems to cause a TWM font issue. It's a tad awkward having to switch between SDDM/KDE and TWM but it is fine as I am very grateful that xbeaver exists. I understand that Gnome works fine, however, Gnome is just not for me so I have not tried it. I have yet to get my head around the the xbeaver options etc. but will spend some time with it when I can. Many thanks J |
Re: Gemini 80-Bus System
Hi John, I wonder if you can tell me what I am doing wrong with my xbeaver setup?
I have created a minimalist config file that includes; a G829 floppy pointing at my DMP image; a binary image of my machines version of RP/M (2.2) loaded at F000; the patch for the top of RAM required for RP/M; the verbose switch. The system starts to RP/M as expected which is great, however when I try and boot to my disk, it looks like sector 1 is read rather than sector 0. Checking the verbose output shows that the disk image is parsed and reports the correct geometry and states that the first sector is 0. Code:
xbeaver.cfg:board 0xb8 serial_8250 bvrnet ~/beaver/network Code:
FDC Command 00 RP/M reports "Wrong Disk" which I assume is because the two 47h bytes stored at the start of sector 0 are not received. Any help you can offer would be very welcome. J. |
Re: Gemini 80-Bus System
1 Attachment(s)
I have tried booting mine - and all appears to work (debug log attached) I suspect your version of RPM is trying to boot sector 1. (someone has patched it maybe).
This is a record of my log file. Can you PM me a copy of your RPM file. Thank you. |
Re: Gemini 80-Bus System
That would explain a lot.
Will PM the rom. |
Re: Gemini 80-Bus System
Thank you - got it, and when I run it the same as what yours does b command loads from sector 1 and then claims wrong disk. So it is the version of RPM that is the trouble.
|
Re: Gemini 80-Bus System
Thankyou, I have an EPROM marked 2.1, so I will test that sometime tomorrow.
The only other thing I get that I am not sure of is that I get a few Unknown port messages , see below. Is this normal? PHP Code:
|
Re: Gemini 80-Bus System
The config I have is...
Code:
verbose |
Re: Gemini 80-Bus System
Just disassembled RPM V2.2 and it reads sector 1 at address 80h and then jumps to address 82h. And also looks for the first two bytes being G8 - clearly this is for a different type of CP/M system
To Patch RP/M to boot your system The following might be helpful to add into your config file binload 0xf000 ~/beaver/RPM_2.2.ROM #Patch top of ram for RPM byte 0f0a8 21 00 f0 #select boot sector byte 0fc36 0 #patch disk code GG for floppy boot id byte 0fc59 47 47 #patch in jump to patch routine byte 0fc72 e0 ff #patch routine - copy sector from 80h to 0h byte 0ffe0 21 80 00 11 00 00 01 80 00 ed b0 f3 c3 02 00 ( And still include the line ) byte 0000 c3 00 f0 This should boot the disk :-). NOTE If you are doing a ROM do not patch the top of RAM test. This is done on xbeaver because actually xbeaver does not support ROM. If not patched the memory size routine overwrites the RP/M code. |
Re: Gemini 80-Bus System
For the unknown ports b4, b5, b6, b7 are the Z80 pio on the GM811 - which is not configured in the Gemini.cfg file.
Port ff is ram paging (Not used GM813 has much better memory management) Port f8 - I don't know, might be keyboard on a GM811 processor card |
Re: Gemini 80-Bus System
Thank you so much. I will let you know how you get on.
|
Re: Gemini 80-Bus System
To keep things as near to my machine as possible I dumped my version of RP/M 2.1 using RP/M itself, I then created the binary using a bit of python and changed the config to point to the new binary. The xbeaver system now boots to the disk images I have and I have a very convenient platform to simulate my system.
This is great progress, I cant thank you enough! I am sure I would have given up by now had you not been around to answer all my questions. I now need to get back to the real machine and sort out the IVC board. |
Re: Gemini 80-Bus System
Remember the IVC needs a 4MHz clock on the back plane provided by the processor.
An input/output from port b3 will reset the IVC card Another thought - the IVC requires a fairly long keyboard strobe PS - Where did you get RPM 2.1 from? - I would love a copy (I only have RPM 2.0) |
Re: Gemini 80-Bus System
1 Attachment(s)
Thanks for the info re: the IVC, I am using a 25ms strobe which was working fine and 4Mhz is provided from the backplane. I will have a probe around with a scope and see if I can come to any conclusions. I know that the Z80, CRT controller and RAM are all good so hopefully it will be something simple.
Attachment 183094 The eprom came with the machine, I also have the versions 0.1, 2.0 and 2.2. There was an article in 80 Bus News that described details of how to take v2.0 to v2.1 and then on to v2.3 (there was no 2.2, despite me having one!). When I get round to patching it I will post it here. |
Re: Gemini 80-Bus System
Please ignore the HEX file that is in the RPM 2.1.zip file. It should not be there. The binary is correct.
|
Re: Gemini 80-Bus System
1 Attachment(s)
Here is RP/M 2.3. I followed the directions described by Richard Beal in 80-Bus News Vol. 3 Iss. 6 to patch version 2.1 to 2.3. I hope this is of use.
Attachment 183105 J |
Re: Gemini 80-Bus System
I have been playing with the gemini version of CPM. It does some interesting things
with the input mode. Because of this I found a bug. The SVC Command ESC K returned 0 if no characters were available for input else returned the character. Reading the spec properly if no character is available it is supposed to wait for a character. What was happening was that this was returning 0 for no character and forcing the gemini bios to enter edit mode. This was causing problems. While we are on the subject one of the other problems is the keyboard mapping is fixed and the cursor keys are not the same as the gemini choice. I am thinking of an easy way to do this as different systems use different key mappings. Please download the latest version from http://81.105.120.101/download/xbeaver.tgz for this bug fix. Thank you. |
Re: Gemini 80-Bus System
Thanks John.
Now that I have an xbeaver up and running my next task is to boot the real machine to CP/M. I will try and source some Shugart interface drives and I will run the Format.com program you sent me. In the meantime I am playing around with the FlashFloppy software running on a Gotek and reading all that I can about RAW image formats. I am thinking that a RAW image format should contain everything that was on the disk e.g. ID Address Marks, sector header, gap bytes, Data Address marks, sector data and CRCs etc. Do you think that would be correct? I have the sector data directly from the .DMP images and I have the Gemini CP/M disk format in the very detailed articles published in Scorpio issues 1-4 by M.W.T Waters. It wouldn't take much to assemble this data into a proper RAW image. Armed with the above information I wonder if by speaking to the Author, the Gemini definition(s) could be added to FlashFloppy. As the product is open source, I could even have a go myself. I am hoping that in the longer term I will get to the point where I have a fully working CP/M Gemini machine with Floppy and HD. The journey is the fun bit though. |
All times are GMT +1. The time now is 7:21 am. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.