Wires? Pah.....

discuss pc<>acorn file transfer issues and the use of other utils
User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Thu May 26, 2011 8:00 am

Thanks Mark - 'A' Martin had briefly explained the machine config but the extra detail is great thanks. I did actually hear myself use that weak expression "somehow causes OSRDRM to get confused" last night and that sort of thing niggles at me so I did indeed look at the underlying code of OSRDRM (very little!) and that of *ROMS and there is definitely something a bit strange going on. I'm not alluding to there being anything 'wrong' with your arrangement but it perhaps doesn't respond to direct access in quite the same way as 'normal' configurations. (Or, it could just me that's losing the plot again :roll:)

Dashing about just now so I'll try and explain in a bit more detail later...

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Thu May 26, 2011 12:42 pm

Actually 'A' Martin, could you try something for me...

I see you have Exmon so enter that on the rommy machine (*E) and set the current address to $8000 with @ 8000. Then, using the ! rom selector, select every slot from 0 to F using ! <id> and on each selection the display will update to show what is present in that slot. Don't want a detailed description, just if it's obviously a rom (and if so, which) or whether it's all zeroes, all random, $80's or what. I can then compare this to your previously posted rom list assuming nothing has changed. (If it has, can you do another UPXROM and a *ROMS)

This will help me to understand a bit better how that Beeb is perceiving roms. Ta.

User avatar
mga1103
Posts: 184
Joined: Mon Jan 24, 2011 4:00 pm
Location: Galway, Ireland
Contact:

Re: Wires? Pah.....

Post by mga1103 » Thu May 26, 2011 7:24 pm

Apologies Martin, late onto this. I've updated the original output with what Exmon sees the roms as. Interestingly, to Exmon they all appear as valid roms, even though *ROMS 'knows' I don't have rom numbers: 0, 3, 4, 7 or 8, which happen to be the ones showing as duplicates :?.

The only others tripping-up UPURS are #2 [ADFS Control] & # 6 [CombiRom].

Also, no change from original rom config. Original *ROMS output repeated here for reference.

Code: Select all

*UPXROM output:                    !  Exmon Sees Rom as:  !  Comment:

0  :  WORDWISE-PLUS 1.49           !  Wordwise            !  
1  :  65C02 ASSEMBLER 1.60         !  65C02 Assembler     !  Correct.
2  :  ?                            !  ADFS Control 1.14b  !  
3  :  UPURS 3.1R                   !  UPURS               !  
4  :  WORDWISE-PLUS 1.49           !  Wordwise            !
5  :  The BASIC Editor  1.32       !  Basic Editor        !  Correct.
6  :  ?                            !  CombiRom 1.12b      !  
7  :  Advanced DFS 1.32            !  Advanced DFS 1.32   !  
8  :  WORDWISE-PLUS  1.49          !  Wordwise            !  
9  :  EXMON II 2.02                !  Exmon               !  Correct.
A  :  BASIC                        !  BASIC               !  Correct.
B  :  UPURS 3.1R                   !  UPURS               !  Correct (FRAM socket)
C  :  WORDWISE-PLUS 1.49           !  Wordwise            !  Correct. WW is in IC52
D  :  RamFS 1.00                   !  RamFS               !  Correct.
E  :  DFS 2.26                     !  DFS 2.26            !  Correct.
F  :  Advanced DFS 1.32            !  Advanced DFS 1.32   !  Correct (FRAM socket)

*Roms output:

Rom 15 : (S ) Advanced DFS 1.32
Rom 14 : (S ) DFS 2.26
Rom 13 : (S ) RamFS 1.0 (03 Aug 2009)
Rom 12 : (SL) WORDWISE-PLUS 1.49
Rom 11 : (S )  UPURS 3.1R
Rom 10 : ( L) BASIC
Rom 09 : (SL) EXMON II 2.02
Rom 06 : (S ) CombiROM 1.12b
Rom 05 : (SL) The BASIC Editor  1.32
Rom 02 : (S ) ADFS Control 1.14b
Rom 01 : (SL) 65C02 ASSEMBLER 1.60

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Thu May 26, 2011 8:34 pm

Thanks Martin and to be honest, that's pretty much what I was expecting to see :-k

To clarify how *ROMS works first - it doesn't actually interrogate the hardware directly to establish which slots contain what but in the first instance, it uses the rom table at $02A1 - $02B0, which is maintained by the OS, to determine where roms live and to get their Service or Language status. It then uses the populated (only) slot id's to interrogate the rom header for the textual stuff.

In UPXROM (3.xx and the new 3.xy) I interrogate the hardware directly to discover what's what. I was using OSRDRM in 3.xx but in fact that only consists of exactly the same switching code as I would use for a manual interrogation so 3.xy isn't actually going to behave any differently. (Except of course that it also indicates whether a given 'rom' is actually a rom or is writeable ram :D)

Now, the Exmon test is in fact doing the same as UPXROM and hence is showing exactly what UPXROM 'sees' when it interrogates the hardware. Thus, it's not so much a case of confusion in the case of Exmon and UPXROM, it's more a case of them being lied to by the hardware [-X

The question then is why does the OS seem to cope? Well, the OS doesn't really perform a hardware interrogation of the memory locations of the header for a given paged rom. On pressing <Break> etc., the OS actually offers initialisation and workspace requests to each slot, i.e. converses with the roms in software, and this means that a 'phantom' image won't be recorded twice. (I would need to dig out my notes to fill in the exact details of that final shallow statement :wink:)

My initial conclusion then is that the hardware configuration of your romtastic machine doesn't actually behave in the expected and 'normal' way meaning that I won't realistically be able to cater for that set-up. Of course, it works 'as intended' in terms of correctly provisioning sideways roms but isn't (on the face of it) compatible with most other systems. In fairness though, I should give Mark the opportunity to rip this theory to shreds.... :wink:

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Fri May 27, 2011 12:33 am

I think this confirms the behaviour you've described but I think it's worth noting that if you load a ROM image into SRAM and check *ROMS and *UPXROM before pressing CTRL-BREAK, *ROMS correctly does not list the ROM whereas *UPXROM does list it even though that ROM bank has not yet been initialised...

Paul

User avatar
mga1103
Posts: 184
Joined: Mon Jan 24, 2011 4:00 pm
Location: Galway, Ireland
Contact:

Re: Wires? Pah.....

Post by mga1103 » Fri May 27, 2011 3:38 am

paulv wrote:I think this confirms the behaviour you've described but I think it's worth noting that if you load a ROM image into SRAM and check *ROMS and *UPXROM before pressing CTRL-BREAK, *ROMS correctly does not list the ROM whereas *UPXROM does list it even though that ROM bank has not yet been initialised...

Paul
Hmmm, if I'm not mistaken, I believe *ROMS does actually list a newly loaded rom image before pressing <BREAK>, at least in my case. (On any of the emulators, I do need to <BREAK> to have the newly loaded image recognised, but not on the real Beeb).

So, how is the rom table getting initialised in this instance? I'm confused, or missing something! :?

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Fri May 27, 2011 7:27 am

When a rom image is loaded, unless <Break> is pressed, that rom doesn't get the opportunity to claim any workspace it might require so loading without resetting can lead to problems. On the Master when using MOS 3.21 or higher, there is for example an optional 'I' switch which can be appended to *SRLOAD and this will register the rom in the OS table after loading without needing to press <Break> but with the risk that any workspace it may need won't be allocated.

Arguably, it is my method of directly interrogating the hardware that is the 'illegal' process in all this and regardless of whether or not Mark's rom system produces 'phantom' images, it works perfectly in the context of implementing sideways roms as we all understand them. The phantom image effect is now just something to be aware of because, for example when using Exmon to look at sideways rom slots, it could lead to confusion if you took the information at face value. The bottom line though is that 99.9% of users wouldn't know or even care what's going on in the background 8)

I'm using the hardware method for the rom list so that you will see disabled ('unplugged') roms and can (now) also have an indication of ram or rom for a given slot. I just prefer to see a full physical list of all 15 slots and hence not rely on a soft table that can be altered or corrupted such that it might not then reflect the true presence of physical devices. I was just trying to understand why 'A' Martin's machine seemed to be doing things that I couldn't account for and unfortunately, it just means that I can't really cater for that particular rom system. Sorry 'A' Martin :(

At the end of the day though, who cares about all this? Probably nobody because I was only adding the feature in the first place for folk who might not have a *ROMS command or who might want to see a more definitive list of all 15 slots.

Anyway, the second Beta version is all but finished, just as ever chasing one niggly bug but should be able to post a version for testing this evening.

User avatar
mga1103
Posts: 184
Joined: Mon Jan 24, 2011 4:00 pm
Location: Galway, Ireland
Contact:

Re: Wires? Pah.....

Post by mga1103 » Fri May 27, 2011 11:11 am

MartinB wrote:...it just means that I can't really cater for that particular rom system. Sorry 'A' Martin :(
Not a problem here, my friend. Just think of me as a rogue tester, trying to understand a little more about what's going on under the cover :wink:.

Appreciate the (as always!) thorough and detailed explanations =D>.

User avatar
retroclinic
Posts: 3042
Joined: Thu Jul 03, 2008 2:22 pm
Location: East Riding of Yorkshire
Contact:

Re: Wires? Pah.....

Post by retroclinic » Fri May 27, 2011 2:17 pm

Well, here's a snippet of the header from ADFS Control 1.14b

Code: Select all

   50ver$="1.14b"
   60FORT%=4TO7STEP3
   70P%=&8000
   80O%=&6000
   90[OPTT%
  100JMP lang:JMP serv:EQUB129
  110EQUB cpyR MOD 256:EQUB1
  120EQUS"ADFS Control":BRK:EQUS ver$
  130.cpyR BRK:EQUS"(C)RetroClinic":BRK
  140:
  150:
  160.lang RTS
  170.serv
  200CMP#4:BEQ coM
  210CMP#9:BEQ helP
  215RTS
Did I miss something out? The other header is just a dummy and doesn't do anything, it's just there to show that SWR space is actually taken up.

Mark.
Image

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Fri May 27, 2011 3:20 pm

I haven’t actually looked at those headers in any detail and I don’t think they are anything to do with the issue I’ve been discussing. The conclusion I’ve come to, entirely in your absence of course :wink:, is that from a hardware perspective, if a rom slot is selected via $FE30 then I would expect to ‘see’ what is physically and uniquely mapped into that slot. So, if the slot contains nothing, i.e. there is no rom resident there, the data bus normally returns the high order address lines such that reading address $8000, for example, would return data value of $80 because the read request just stares into a void!
However, what seems to be happening on ‘A’ Martin’s machine is that as one steps through the 16 slot id’s (0-F), there are duplicate (or what I’ve been calling ‘phantom’) images appearing, even from what I believe to be unoccupied slots. The effect first manifested itself when I wrote a rom-lister (*ROM type output) for use with UPXROM which is the rom image exporter part of my transfer system. Rather than just presume I was doing everything right, I asked ‘A’ Martin to do a similar check using Exmon and this confirmed the presence of ‘phantom’ images.

The end result is that on a machine with that type of rom configuration, it’s not possible to directly interrogate the hardware using $FE30 to establish the presence (or otherwise) and status of roms. I don’t know how you’ve physically implemented the arrangement but it’s almost as if there’s a select line or lines floating somewhere when an empty slot is selected via $FE30? Dunno….. :-k

User avatar
flynnjs
Posts: 831
Joined: Tue Jul 06, 2010 10:33 pm
Contact:

Re: Wires? Pah.....

Post by flynnjs » Fri May 27, 2011 6:22 pm

Phantom ROMs sounds like the ROMSEL decoder IC is on the blink or some of the associated jumpers need checking. Strangely, I had exactly this problem last year and had to replace mine.

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Fri May 27, 2011 7:33 pm

I've just noticed a little bug with UPXROM. Not a functional thing but still needs addressing....
Insert disc,set PC to Rx,press <Space>
Thing is, there is no disc required...

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Fri May 27, 2011 7:55 pm

Thanks Paul - the most obvious things are often the hardest to spot :wink:

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Fri May 27, 2011 10:05 pm

Attention UPURS test team - attached is the second disc-based beta of UPXROM. It's version annotation is 3.xy (from 3.xx) and it has the following tweaks...

1) The 8k image size switch is now a '\' (backslash) which appears as the '1/2' symbol in Mode 7 - as suggested by Paul V
2) Entering the command alone with no parameters now only reports version and date i.a.w. the other utils.
3) Action message changed to remove 'Insert Disc' - Paul V spot
4) Further analysis of SWR contents carried out to avoid mis-identifying garbage as a rom - Paul V spot
5) The *ROMS style report is now obtained via a command line '?' switch.
6) The rom report non-destructively tests for writeable SWR and if ram is found, the ':' in the report is repaced by a 'w'

I've been chasing what I thought was a bug (for hours :evil:) but I'm now pretty sure it's a bug in BeebEm. It's associated with some craziness as the very first encountered SWR block is tested and I was ready to scream but when I shipped out to a real Beeb it didn't occur :roll:. I will test it on B-em when I figure out how to have SWR banks (?)

EDIT : All slots in B-em are SWR by default unless they have a rom image loaded when they become rom (nice Tom =D>) and UPXROM 3.xy works fine which confirms that the problem I was seeing is definitely a bug/quirk in BeebEm.

Destruction testing and feedback welcome. Ta :wink:

('A' Martin - I doubt anything has changed regarding phantom images for the reasons given previously but ignoring that, your testing would still be very useful.)
Attachments
UPXROM (Beta Disc).zip
(5.52 KiB) Downloaded 70 times

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 5:06 pm

I've found a little bug...

*UPXROM 8
.....
Image Complete.

Directly followed by

*UPXROM 8
Illegal Rom ID!

Huh? You just exported it once...

When trying to reproduce it, it's intermittent sometimes immediate, sometimes on the 3rd or 4th export.

EDIT: If I then press break, once the error occurs I get "Bad Sum" and supervisor mode or "Bad Sum" and a hang...

Model B with APTL ROM board, DataCentre and a second processor. Turn off the second processor and it still does it...

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 5:31 pm

Ta Paul. Can you try this one please :wink:
Attachments
UPXROM (Beta Disc).zip
(5.55 KiB) Downloaded 59 times

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 5:38 pm

Nope :(

4th attempt, "Illegal Rom ID!" :(

I checked the version and it appears to be the same though?

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 5:41 pm

Ok thanks Paul - I'd noticed something last night (missed a CLI after an SEI) so though that might have fixed it. I'll have a look later and get back.

(Source code was/is now on the disc btw if you want to browse :wink:)

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 5:50 pm

Ok,

I have EXMON II if you want to issue remote instructions :D

Been looking at the source code as I'm re-learning 6502 Assy ATM... Good to look at code and know what it's trying to do :D

Paul

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 5:57 pm

No need for EXMON II... I've solved it... and can reproduce every time...

"*UPXROM 8" works
"*UPXROM 8 " breaks as your parse_a1 function starts looking for a second rom id and fails therefore reporting Invalid ROM...

EDIT: Reading further through the code I'd say it's getting passed from parse_a1 to parse_a2 and then failing :(

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 7:04 pm

Well don't press an extra space then :wink:

Think this will sort it and it will accept a "1/2" without a space for an 8k image but can you try lots of idiot command line permutations.

Err, I don't mean...not that you....I meant to say....

(And I've remembered to up-issue to xz!)
Attachments
UPXROM (Beta Disc).zip
(5.51 KiB) Downloaded 62 times

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 7:18 pm

I don't seem to be able to break that one :D

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 7:29 pm

Many thanks Paul, it's looking like a release then :D

Couple of things I've noticed tho... I think there should be an 'Imaging..." message or similar after pressing <Space> and I could do with flushing the <Space> from the KB buffer because it's left languishing and pops up after the program quits.

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 8:03 pm

Sounds great. I had noticed the space but pressing delete isn't such a hardship :D

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 9:05 pm

Here's the last Beta (hopefully) of UPXROM with a "Sending..." message added and a KB buffer flush on exit.

Paul - can you get that ham-fisted friend of yours to give it a quick check at some point. Nothing much needed because there's only the two changes as discussed on top of the version your mate has tried already :wink:

I'll probably release it as 3.1B just so it starts at the same issue as it's five adjacent utilities but the parity won't be maintained thereafter. (I'm already back on to legacy ports :D )
Attachments
UPXROM (Beta Disc).zip
(5.59 KiB) Downloaded 63 times

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 11:05 pm

Not been able to test yet as the other half is using the netbook this evening...

In the meantime, MartinB, what are your thoughts on this....

http://www.expansys.com/meta-product/?i ... l_versions

Paul

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Sun May 29, 2011 11:45 pm

Ok,

Netbook returned :) Tests done :) All good :D

Paul

User avatar
MartinB
Posts: 5327
Joined: Mon Mar 31, 2008 10:04 pm
Location: Obscurity
Contact:

Re: Wires? Pah.....

Post by MartinB » Sun May 29, 2011 11:51 pm

Good question Paul :wink:

Well, in general terms, this is exactly where we're going with this (Wires? Pah...) and is why it has been so important that I initially designed an RS232 interface which is fully compliant with the core EIA specification - that box is now ticked I believe. (As you know, the project started with a parallel interface to Centronics standard and with that I already have a fully wireless Bluetooth capability :D)

Now, when it comes to wireless RS232, these adaptors, such as the one you've linked to, claim to be able to simply plug into the remote interface (in our case the Beeb) and replace the wires. My only reservation is, as with the USB-RS232 adaptors, whether they do all correctly implement RTS/CTS handshaking. If they do, then there is no reason at all why one shouldn't work with the UPURS system. I already have a Bluetooth adaptor (dongle) for my Netbook which provides a serial COM4 port and I have already briefly tried UPURS with my dual Parallel/Serial Pico Plug adaptor at the Beeb end. However, that was some time ago and long before the system was fully mature, and whilst it nominally worked, I have a note that says "check handshaking - looks odd" :-k

So, the answer to your question is that right now, I haven't yet investigated or researched wireless Bluetooth RS232 adaptors to try and understand the differences one might encounter, if indeed there are any. I guess this is a similar quandry to the FTDI vs 'other' USB adaptors except we're now talking more money for the wireless adaptors. I have noticed that the latter are often sold in matching pairs, both identical with switchable DTR/DSR mode and it's often cheaper for two so I had been thinking along the lines of pairing users up to split the cost of a pair.

Perhaps in the first instance I should re-test with my Pico Plug and see if that gives us any clues. Leave it with me... :wink:

User avatar
paulv
Posts: 3854
Joined: Tue Jan 25, 2011 6:37 pm
Location: Leicestershire
Contact:

Re: Wires? Pah.....

Post by paulv » Mon May 30, 2011 12:15 am

My only reservation is, as with the USB-RS232 adaptors, whether they do all correctly implement RTS/CTS handshaking. If they do, then there is no reason at all why one shouldn't work with the UPURS system.
Looking at the features tab on the iogear website it states it fully supports RTS/CTS hardware flow control so in theory, this is a viable option...

http://www.iogear.com/product/GBS301/

Hmmm, Bluetooth Beebs =P~

I noticed they also have a faster RS232 to Bluetooth adapter that supports EDR but it'd be overkill for the Beeb and at > £80 each, it makes it a bit silly on the price front too :shock:

Paul

User avatar
flynnjs
Posts: 831
Joined: Tue Jul 06, 2010 10:33 pm
Contact:

Re: Wires? Pah.....

Post by flynnjs » Mon May 30, 2011 7:35 am

If you're considering Bluetooth then these seem to be a bargain. I bought a bunch of them a month or so back. Took their time to arrive mind.

http://www.suntekstore.co.uk/Wireless-B ... --TTL.html

3v3 TTL though, so not ideal for Beeb use I guess.

Post Reply

Return to “software & utilities for the pc, mac or unix”