RiscPC, !PC and the serial
ivelegacy (2674) 139 posts |
Parallel port It should also be interesting to understand what happens if i plug a second parallel podule card CJE/micro’s dudes have a few interesting podule card, with second serial for RPC. I do not know if CJE/micro’s dudes also have a podule with a second parallel port, but this should be very interesting for me, because the BDM cable is marvelous working under DOS under !PC/PRO. I have successfully attached a BDM cable to the MRM remote board, the dos application that controls these things is directly accessing to PORT_IO space at the address 0×03B (common LPT1), I wander what will happen if I will plug a second parallel port podule trying to access to the PORT_IO address 0×03BC (common LPT2) Having two BDM cables is simply marvelous if you have an SMP, or an AMP target board. Here I have a DOS application that is able to control up to 2 sub-boards using 2 BDM cables attached each one to a parallel port, so 2 parallel ports are required. And two serial lines, off course. |
ivelegacy (2674) 139 posts |
I’d like to know, from the !PC/Pro point of view, which type of UART it’s supported
|
Rick Murray (539) 13435 posts |
To know the UART type, look at the sources. It is probably the simplest type. I may be completely wrong, but I think the process is roughly as follows: 1, DOS program makes a BIOS call for a serial service The PC BIOS will likely present itself as a generic serial port. The differences between the hardware actually present will be an issue for the host (RISC OS) to sort out. 1 With Hugo’s sp_dual fitted in my RiscPC, I never noticed any reference to alternative serial ports. These additional ports use the blockdrivers, not SerialOp, so I don’t think !PC was even capable of talking to them… |
Colin Ferris (399) 1755 posts |
Interesting how there is interest in the PC Cards again. |
Steve Pampling (1551) 7964 posts |
Who did that one?
Some of it is fairly clean anyway. Not totally, but not weighed down with 26 bit elements. |
Doug Webb (190) 1149 posts |
Dave Daniels , who did a Brandy Basic V Interpreter, worked on version 3.08 sometime around late 2008 judging by the correspondance I had with him at the time. This fixed some issues on 4.39 and 6.20. I’m not sure what happened post the version he sent me in Sept 2008 and the testing I did at that time for him. |
Steve Pampling (1551) 7964 posts |
Which is the version CJE are supplying it seems, so one presumes CJE have the v308 source. Hopefully that’s a little better commented, among other things. |
ivelegacy (2674) 139 posts |
I have emailed to Dave Daniels, asking a few things. |
Steffen Huber (91) 1945 posts |
There was definitely software to talk to SP_Dual serial ports via the PC card. Can’t find it on the internet atm, but I am sure my Risc PC HD has it somewhere. |
ivelegacy (2674) 139 posts |
@Steffen Huber also, what about a second parallel port ? Is it possible ? |
ivelegacy (2674) 139 posts |
Iyonix PC does not have the CPU_GUEST_SLOT, but it may have a podule interface. Is it right ? |
ivelegacy (2674) 139 posts |
this is the BDM interface I am successfully using with !PC. Basically BD32 is a Background mode Debugger for the Motorola 683xx series of micro controllers. It runs on PC compatible computers and controls the microcontroller through its Background Debug Mode (BDM) serial port. BD32 can control
Cougar is specific for the EVS.BBCDI, and uses only the RS232 serial line |
Rick Murray (539) 13435 posts |
Yes, doubtful, doubtful. Yes, PC cards on podules existed. There was a 25MHz 80386 card or a 25MHz 80486 card, both of which could be fitted with 1MiB or 4MiB RAM. Later on, there was a 50MHz 80486 card with onboard IDE. No further x86 podules were made as by now the RiscPC had arrived. It is unlikely to work even if !PC works because there is a ROM on the podule and as far as I can tell, there are no sources for the code on this ROM – thus it will either freeze RISC OS 5 on boot1 or RISC OS 5 will ignore it. Also worth noticing is there there are two source bundles for the !PC software. I think the v2.xx versions are the only ones that will work correctly with the podule co-processors. Here’s mine:
The podule interface is on the left. The chips immediately following (two white, two black) are the podule interfacing logic – most likely PALs of some kind. The big chip on the bottom by the R key is the ROM. I don’t know the capacity. 1 Basing the “it may freeze” on the behaviour experienced trying to get RISC OS 5 working on RedSquirrel with a 26 bit HostFS. RISC OS should have ignored the HostFS module. Given the thing never booted, I’m guessing RISC OS might still be sensitive to 26 bit modules present within podules. Err…. |
Steve Pampling (1551) 7964 posts |
Yup. Podules load their modules early on. Hence if you have NIC with a copy of the Shared C on board you can load shared C for use with the podule. Hence also why you need to update NIC on board modules before updating the OS when the NIC has a 26 bit element in the flash. It’s covered in the readme files for the IOMD upgrade. |
Rick Murray (539) 13435 posts |
Aaaaand….modules have a 32 bit flag because….? :-P
The two ReadMe files in the latest softload IOMD build say nothing about podules; which might be important as the ones in Flash you can change, but what about the ones with an EPROM? For every i-cubed NIC and Simtec IDE (both Flash), there’s a Morley SCSI and an SP_dual (both EPROM). |
Uwe Kall (215) 120 posts |
As far as I recall, the serial port hardware also is RS-485 instead of RS-232, so normally you’d need termination resitors at the end of the ‘bus’ – wasn’t it also using a 20mA Loop instead of +- 12V? Good Luck! |
Steve Pampling (1551) 7964 posts |
Aaaaand….modules have a 32 bit flag because….? and when the system halts and displays an error box to say thins aren’t 32 bit (or fails because that bit isn’t yet available) the module has “stiffed the machine”
Which is rather the point that Sprow, Steve and Ben have made many times over. There are limits to what can be made to work. |
ivelegacy (2674) 139 posts |
So basically Iyonix PC can’t have a x86 card. @Rick Murray |
Chris Evans (457) 1614 posts |
Sorry I’ve just found we’ve been breaking the GPL as we only have a copy of the source for 3.06 (from riscos.info). |
Rick Murray (539) 13435 posts |
@ Steve:
Wouldn’t it make more sense, then, for the “it isn’t 32 bit” to fail silently for podules? There’s no point raising an error if there is no way to raise an error at that point. Surely a running machine (with missing podule module) is better than a blank screen?
Way before Harinezumi gets a look in! ;-) @ ivelegacy:
For the podule? That will have been the A5000, so RISC OS 3.10. @ Chris:
Oh, look, the GPL bites again and, oh look, it is to the detriment of the end-user. Quel surpris.
Does this not imply that they are also technically contra-GPL? Does anybody really care? At least there is some source code… Just out of interest, do you have a changelog detailing what is different in v3.08? The text on riscos.info suggests that the only change between 3.06 and 3.07 is including the AcornURI module and tweaking the installer. |
Wouter Rademaker (458) 197 posts |
On riscos.info is written “The changes in 3.07 appear to be that the Acorn URI module is included in the update for !System, and the installer has been modified to allow running direct from an archive.” Has anyone tried a doing “diff” between the contents of both archives, to see if that’s true? |
ivelegacy (2674) 139 posts |
I need to test the serial under DOS, do you know a good DOS program that performs hex-termianal on the serial ? Also I need an application that permits to manually alter the handshake signals. I am going to create a program like that in Turbo C/Pascal, but my time budget is limited because I also have to complete my job with the MC68332, so any help is the welcome. p.s. |
Andrew Wickham (2067) 18 posts |
Podules – not limited to pre-RiscPC machines. !PC 2.34 failed on my Kinetic StrongARM with 4.39 (in normal and SA-only modes). However, I gather it has been used with 4.02 and should be OK with 3.5, 3.6 and 3.7. The last revision had the advantage (over the RPC co-processor) of local IDE, serial, parallel and floppy, so might be quite useful in this context. RAM limited to 16MB (with a mod, 8MB without). Older revisions had local serial and parallel ports, but max 4MB RAM. |
Frederick Bambrough (1372) 826 posts |
This thread prompted me to plug the 586 card back into my RPC. Seems to work fine with RISC OS 4.39, running Windows 95. The control panel suggests it has access to all four serial ports. It’s been a long while so I can’t recall where everything lives… Found some installation instructions I printed at the time. They state that SerialDriver v0.51 or later is required. Can’t find that in the location they suggest (Predesk) so I assume it was replaced by !SerialDev which I have in Tasks? It contains Dummy, Internal, InternalPC, PipeA, PipeB, SP_Dual, SP_DualPC, Telnet |
Frederick Bambrough (1372) 826 posts |
Found a SerialCOM module that provides access to the four serial ports by Hugo Fiennes dated 1996. Didn’t see it before because I made it into an application to load the module when the PC directory is opened. |