Previous Thread
Next Thread
Print Thread
Page 33 of 56 1 2 31 32 33 34 35 55 56
rfka01 #106252 07/01/16 09:34 AM
Joined: Jan 2012
Posts: 1,179
Likes: 17
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Jan 2012
Posts: 1,179
Likes: 17


Quote
Bavarese: You must specify "-c none" for no compression at the command line (chdman)
[...]
Bavarese: >chdman64 createhd - c none - chs 153, 4, 16 - ss 512 - o RD50_ST506.chd
Bavarese: (for a 5 MB hard disk). Be careful with DOS FDISK and large HDs, use WUTIL (especially when you specifiy a HD with more than 4 heads)
Bavarese: CCPM and DOS 3.1 cant cope with more than 32 MB partitions BTW

Shoutbox saved for posterity ... should probably end up in the Wiki


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
rfka01 #106253 07/01/16 10:04 AM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
Additional info from the driver i plan to remove (to reduce bloat):

Code
// DEC RD TYPE (MByte) CYL ---- HEADS ---- MODEL (typical)
// DEC RD50 (5 Mbyte): 153 cyl. 4 heads -- ST506
// DEC RD51(10 Mbyte); 306 cyl. 4 heads -- ST412
// DEC RD31(20 Mbyte); 615 cyl. 4 heads -- ST225
// DEC RD52(32 Mbyte); 512 cyl. 8 heads -- Q540 [!]
// DEC RD32(40 Mbyte); 820 cyl. 6 heads -- ST251 [!]
// DEC RD53(67 Mbyte); 1024 cyl.8 heads -- 1325 [!]
// [!] More than 4 heads. Prepare with WUTIL and / or DSKPREP.

// SIZE RESTRICTIONS
// * HARDWARE:
//      WD1010 controller has a built-in limit of 8 heads / 1024 cylinders.
// * BOOT LOADERS:
//   - the DEC boot loader (and FDISK from DOS 3.10) initially allowed a maximum hard disc size of 20 MB.
//   - the custom boot loader that comes with 'WUTIL 3.2' allows 117 MB and 8 surfaces.
// * SOFTWARE:
//   - MS-DOS 2 allows a maximum partition size of 16 MB (sizes > 15 MB are incompatible to DOS 3)
//     [ no more than 4 partitions of 8 MB size on one hard disk possible ]
//   - MS-DOS 3 - and Concurrent CPM - have a global 32 MB (1024 cylinder) limit
//   - a CP/M-86-80 partition can have up to 8 MB (all CP/M partitions together must not exceed 10 MB)

Next step would be the hookup of serial/printer interfaces and the 7201.

I feel like i have to reinvent the wheel smile

How do i actually use the internal terminal (invoked from the GUI)...?

Driver WIP: https://dl.dropboxusercontent.com/u/37819653/BANNISTER/2016_07_01_Rainbow_CPP.txt

Last edited by Bavarese; 07/01/16 10:21 AM.
rfka01 #106254 07/01/16 12:11 PM
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
Why would you remove useful info like that?

rfka01 #106255 07/01/16 01:22 PM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
Hmm... sizes can be taken from manuals, old MSDN pages or Wikipedia with some effort.

I am forced to make a sacrifice for readability, as our driver approaches 100 kilobyte.

The monolithic nature of the Rainbow driver is a problem. In part, because i dont know squat about slot devices.

Quite certain the ST506 / WD1010 code could be modularized (or even replaced by something more complete, for example MFMHD)...


Last edited by Bavarese; 07/01/16 01:23 PM.
Bavarese #106259 07/01/16 03:22 PM
Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
Originally Posted by Bavarese
Hmm... sizes can be taken from manuals, old MSDN pages or Wikipedia with some effort.

That's no reason to remove it from the driver. In fact, given how often URLs change, it is (if anything) an argument for keeping it in the driver. We put useful info like that directly in the drivers for a very good reason, which is that MAME is a documentation project. Choosing to actively remove documentation seems to run against that.

Originally Posted by Bavarese
I am forced to make a sacrifice for readability, as our driver approaches 100 kilobyte.

That means the driver should be split across multiple files, not that you should be removing useful documentation from it. smile

rfka01 #106261 07/01/16 06:27 PM
Joined: Mar 2006
Posts: 1,079
Likes: 6
L
Very Senior Member
Offline
Very Senior Member
L
Joined: Mar 2006
Posts: 1,079
Likes: 6
You could stick the more detailed documentation as a giant comment or comments in a .h file if you really want to but that may hurt readability.

If you end up doing that, the .cpp file should note that further documentation is in the .h file.

LN


"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
rfka01 #106263 07/01/16 08:04 PM
Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
but there really is no need to move the info from its current location, so why are we discussing the point so much? wink

rfka01 #106280 07/02/16 04:32 PM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
[7201 emulation / serial setup]
Now i tried to follow the instructions RFKA gave on the DMV thread (page 9), only problem is that nothing gets through.

Details:
- 7201 config statements were added to the Rainbow driver (hopefully correct). The IRQ (IRQ_COMM_PTR_INTR_L,) is firing.

- i try to connect Putty to the bitbanger on 127.0.0.1, port 10000. The Rainbow runs in Terminal Mode (T key after boot) where it mimics a VT100/VT102 (more or less)...
Unfortunately nothing happens ...

- no virtual comm port is installed (and the platform is Windows 10).

Driver - work in progress (2016-07-02):
https://dl.dropboxusercontent.com/u/37819653/BANNISTER/2016_07_02_Rainbow_CPP.txt

https://www.dropbox.com/s/16uhf9gmlobh9wd/2016_07_02_Rainbow_CPP.txt?dl=0

Command line / invocation:
mess64 -window -debug rainbow -frameskip 10 -bitbngr socket.127.0.0.1:10000

The printer is difficult to get working (even with a patch), so i concentrate on the serial interface for now.

Last edited by Bavarese; 07/02/16 05:46 PM.
rfka01 #106282 07/02/16 08:22 PM
Joined: May 2004
Posts: 997
Likes: 107
D
Senior Member
Offline
Senior Member
D
Joined: May 2004
Posts: 997
Likes: 107
You're missing the null modem device that needs to be connected to the RS232 port.

rfka01 #106284 07/03/16 06:30 AM
Joined: Apr 2012
Posts: 193
B
Senior Member
Offline
Senior Member
B
Joined: Apr 2012
Posts: 193
The null modem is present (without it, i guess the bitbanger wouldn't start) -
Code
MCFG_DEVICE_MODIFY("rs232_a")
MCFG_SLOT_DEFAULT_OPTION("null_modem")
What is missing?

- i have not the faintest idea how baud rates are programmed into the 7201 (except there is an extra bitrate register at port $06 in 8088 I/O space with 2 half bytes for up and download rates ... $F means 19200, $E 9600 etc.).

- there are also 5 unemulated status and 4 control bits in 'comm_control_r' and 'comm_control_w'

Question is, how do i set individual port bits (DTR, RTS) or get the status of DSR, CTS, RI...?

The Rainbow documentation suggests the 808x CPU has direct control on these bits via 'comm_control_r' and 'comm_control_w'.

Thanks for any clues


Last edited by Bavarese; 07/03/16 07:26 AM.
Page 33 of 56 1 2 31 32 33 34 35 55 56

Link Copied to Clipboard
Who's Online Now
2 members (Bletch, AJR), 348 guests, and 5 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com