New StrongARM IS READY! | |
This is a long thread. Click here to view the threaded list. | |
mripley | Message #1660, posted at 11:54, 10/11/2000, in reply to message #1658 |
Unregistered user | A 26 bits satellite kernel which just catches the illegal calls isn't applicable in our case. The reason it works on Windows is because all you are doing is catching calls to the Win32 API. However in our case the way some of the ARM code instructions are interpreted has changed. This isn't something that is easy to trap. Short of modifying the affected apps (so we can say goodbye to Artworks etc) emulation would appear to be the only solution. That puzzled me as well until I thought that a complete application/module of machine code is clearly identifiable as 26bit or 32bit even if each individaul line is not. Therefore the ability to switch between 26bit and 32bit mode can be set for a section of code when it is loaded.... regards, |
[ Log in to reply ] | |
Mark Quint | Message #1662, posted by ToiletDuck at 17:20, 10/11/2000, in reply to message #1661 |
Quack Quack
Posts: 1016 |
tiny problem: When machines like the Omega come out, and now we also have nearly all new RPCs bundled with modems, what are we gonna do when DSL technologies like ADSL, cable and Wireless internet goes mainstream?? We'll be left in the same situation as RiscOS always esems to be where the OS has no support for any of the newer technologies. Now that so many people are using the internet, and we've seen that 0800 isps are failing, there is not much life left in the modem, espically with the ability to have a 24/7 always-on connection, upto 40 times faster, and be able to watch TV online, use VoIP and many other things. And so the internet will rapidly move towards these Internet services. When this happens, what will we have to do to be able to use these technologies??? Will it just be a case of someone writing USB drivers (Home BT Openworld), or how complicated will it be?? (and would there every be the possibility of using ADSL of a risc pc?) |
[ Log in to reply ] | |
johnstlr | Message #1664, posted at 11:00, 11/11/2000, in reply to message #1663 |
Unregistered user | Wow, it's been busy on here. Firstly the discussion concerning 26bit execution. Ok I'll try and be more specific as to what I mean. When windows went from win16 to win32 all that changed were some of the API calls. Some took new parameters, some of the parameters had new meanings. You can trap these because all you have to do is reimplement win16 as a wrapper around win32. This would be the equivalent of writing wrappers for SWI calls. However the important thing to note is that the x86 instruction set DIDN'T change. We are faced with the problem that the fundamental language of the processor (ie ARM assembler) has changed. While 26bit ARM will run on a 32bit processor the result of executing each instruction will not necessarily be the same. The real problem is that the processor flags have been moved from the program counter (PC) to a separate register. At the very least the affects ALL subroutine calls. It has also resulted in a change of the ARM Procedure Call Standard. At the moment the processor flags are saved when the return address is saved. However simply saving PC doesn't do this in 32bit mode, it just saves the return address. Any function which states that it saves the processor flags now doesn't. Any code which assumes that a function saves the processor flags will no longer work correctly. Because saving the processor flags requires an extra two calls the APCS has been altered to say that it is no longer necessary for a function to save the flags. This is completely incompatible with the old standard. C code is ok, it can be recompiled to take this into account, ARM has to be rewritten. On top of this I believe there are other issues concerning changing the processor mode and certain instruction sequences. These instruction sequences cannot easily be detected automatically. If they could someone would have written the code to do it by now. Therefore the Win32 method won't work for us. Merely stating whether a piece of code if 26 or 32 bits only allows 26 bit code to be detected and appropriate action taken. Assuming that new machines will not have processors that have 26bit modes then emulation is the only option. You can call it "interpretation" if you like, but if you're interpreting every instruction and then executing it in a new environment it is emulation. You are emulating the old 26bit environment. Concerning the emulation of the Java extensions on processors which don't have them. Well this requires a Java VM and we still don't have an up to date one. Given how long Java has been around now I don't see that providing one for machines without the Java extensions is something that will happen very quickly. Finally Internet drivers, and in particular USB. Well if there is a standard method of writing USB drivers then I believe the drivers will come. The problem is that none of the mainstream and hobbyist developers have access to USB hardware or the USB developers specification. So even if I could write a driver right now I can do nothing but twiddle my thumbs or perhaps experiment on Windows. |
[ Log in to reply ] | |
ams | Message #1667, posted at 18:49, 12/11/2000, in reply to message #1666 |
Unregistered user | i guess to combat the 26bit problem, wouldnt it be easier to emulate the 26bit processor on the Xscale proccessor (its not like there's much processor requirements anyway for much 26bit apps) Part of the problem is that we could indeed emulate the 26bit ARM in full on a 32 bit processor. The problem is it would make a massive hit on performance (even for ARM10 or xScale). The real irritation is (as Lee mentions) the issue of flag saving. To all intents and purposes (probably) 99% of all ARM code would NOT need to change. (ARM32 bit and 26 bit is IDENTICAL except for R15 and the PSR (Flags)). But current methods need information sent back in flags and its dealt with very succinctly in Lee's article. Bear in mind existing ARMs generally run in 32 bit configuration and "fudge" 26 bit mode when non-user modes are called, it all works without much of a hit because most of the rest of the time you can run ARM code without any veneers (a 32 bit or 26 bit ADD for example are identical and need not be handled differently). A full emulation is a different kettle of fish. I used to do a some ARM assembler (years and years ago) and would like to get back into it. From my point of view I think it would be helpful if ROL specified standards for ARM code and 32 bit handling, a short article here perhaps, to specify what precautions coders should use when writing ARMcode and required changes to support RISC OS from now on. |
[ Log in to reply ] | |
ams | Message #1669, posted at 19:57, 13/11/2000, in reply to message #1668 |
Unregistered user | One of the virtues of C/C++ and even BASIC is you simply don't care about what flags are/aren't set (High level languages don't you just love 'em). Unfortunalely ARM assembler is rather nice (and the executables are mouthwateringly quick) and it would be nice for those ARMcoders to have a chance to use the new hardware. I don't mind having separate macros for assembling 26 bit and 32 bit code if that's what it takes, so long as a standard method is established for calling and using 32 bit hardware. [Edited by ams at 19:59, 13/11/2000] [Edited by ams at 20:14, 13/11/2000] |
[ Log in to reply ] | |
Mark Quint | Message #1672, posted by ToiletDuck at 21:36, 20/11/2000, in reply to message #1671 |
Quack Quack
Posts: 1016 |
The problem with this is it won't work on ROM code (it can't be modified, so RISC OS can't be fixed this way) So isnt this what should be built/fixed into RiscOS 5 - an OS specifically for the new proccessors, and also for the new machines such as the Omega and Evolution?? then u can put in drivers for USB, PCI cards etc... |
[ Log in to reply ] | |
ams | Message #1674, posted at 19:16, 21/11/2000, in reply to message #1672 |
Unregistered user | The problem with this is it won't work on ROM code (it can't be modified, so RISC OS can't be fixed this way) Mark as I said originally the solution I suggested would not fix ROM (it biggest drawback). I agree with you that the real solution is an OS directed towards the new hardware, the problem is people will still need (or want) to use their old 26 bit code. There are thousands of 26 bit apps and zero 32 bit ones, and some of the original vendors will not be willing to upgrade their code. A 32 bit OS that cannot run ANY 26 bit code can effectively be thought of as a new OS, and that will mean persuading (now sceptical) developers to support it. Users will find a library of thousands of programs reduced to just a handful of BBC BASIC programs that would run in any event. Some means of running 26 bit code is needed (be it emulation (ugh) or some exception trapping mechanism). Dual processor machines like the Millipede or Omega may be able to address this by running the 26 bit code under the old SA-110. I am not trying to be a stick in the mud on this, but people will be really miffed if there is no way to run their old apps at least under emulation (ugh) or by some more efficient means.
|
[ Log in to reply ] | |
Gulli | Message #1675, posted at 10:36, 23/11/2000, in reply to message #1673 |
Unregistered user | 2) Up grading the Operating system, also this can be fixed useing FLASH ROMS, so RISC OS Ltd, can distribuite RISC OS on CD ROM it will be more faster and more cheap than the actual system I seem to recall RISCOS Ltd. saying that a CD distribution of RISC OS was not to be because of agreement to Pace Ltd. It is possible that both will change their minds though. |
[ Log in to reply ] | |
Matrix | Message #1676, posted at 14:50, 26/11/2000, in reply to message #1634 |
Unregistered user | Thing is, if RISC OS 4.5 isn't 32bit compatible, what's the point? Isn't that supposed to be the next big sticking point in getting new machines designed? At least, MicroDigital claim to be getting around the hardware dependancy issues, so what's in 4.5 that would make me want it? (Richard Goodwin) I want replay to this old message for some particular reason, why buy RISC OS 4.5? 1) because 4.2 and 4.3 need to have a new DMA Manager (too much bugs with the DMAManager) 2) because (if Risc OS will do this) 4.2 and 4.3 need a better configuration manager if you use a powertech SCSI the configuration manager not recognize it, and the powertech is the only one full 32 bit and UDMA SCSI 3 that we have) 4) because they need to fix the problem of PPP driver that is STILL a shareware and in all others operating systems PPP, TCP/IP and other network stuff are included! (also in Linux that is free!) 5) Because it need some more corrections about compatibility with old RISC OS versions so we can recover some old applications more Why i answered about this question? easy because RISC OS basicaly need to grow in a way that will let use be used for the new system (32 bits i mean) and also that will give to us new instruments for be ready to the next step... I agree with the Annraoi answer but i want remember that the new SA have a 64 bits system bus (32 in and 32 out) and all old ARM have a 32 bit system bus so this in hardware lever will make a lot of problems for put both the processors on the same board (without thinking about different clock's, cache , memory allocating, drivers for devices in 26 bits or 32 etc...) but anyway an old ARM could be used like a second processor for emulate old machine or for readress in in old application... but in that way will not be a lot of advantages from the new processors and also it will not be used for a lot of time... |
[ Log in to reply ] | |
ams | Message #1677, posted at 19:28, 26/11/2000, in reply to message #1676 |
Unregistered user | My read on 4.5 is that it essentially is to allow developers to produce 32 bit ready code, if it works on 4.5 then it will also work on 32bit RiscOS (whenever that arrives). The problem Paolo mentions concerning the 32 bit bus is not as problematic as it at first appears. Buffering and multiplexing/demultiplexing busses is a "known" science. Besides I've seen Imago running and its got a 128 bit bus, the SA-110 has a 32 bit bus and the video system may well take more of the 128 and the whole shebang runs at 100MHz bus speed (the SA-110 at 64, video at 100) its do-able so let's not get too worried about it. The issue really is can we have a 32 bit OS that (in some way) allows older 26 bit software to also run (even at the expense of the older software running slower). This will be sufficient to encourage developers to make their code 32 bit and not so irritating as to drive existing users to other platforms. |
[ Log in to reply ] | |
mripley | Message #1678, posted at 10:47, 27/11/2000, in reply to message #1677 |
Unregistered user | I think we are going round in circles here. The new Omega with RISC OS 4.5 +Xscale will, if I'm reading the ad correctly, allow 32bit and 26bit to run on the same machine. The 26bit runs on the old sa110 and the 32bit on the xscale or the sa110. This switching is done NOT in the OS but on the motherboard. RISCOS 4.5 will be compatiable with both 26bit and 32bit code and therefore allow the transition. Thus users, applications, hardware and OS's can migrate without having a big bang approach. Once RISC OS 5.xxx comes along then ONLY 32bit will work. However by then all software should have been re-written/converted. |
[ Log in to reply ] | |
ams | Message #1679, posted at 19:18, 27/11/2000, in reply to message #1678 |
Unregistered user | Problem solved then ! Just one fly in the ointment though, what about people with RPC's or RiscStations are they faced with having to "bin" their equipment and buy a new machine so they can run 26/32 bit code ? |
[ Log in to reply ] | |
jess | Message #1680, posted at 21:02, 27/11/2000, in reply to message #1679 |
Unregistered user | I Bet castle'll bring out an Xscale board to be used in conjunction with existing Arm. Is there any reason Riscos 5 couldn't support multiple threads on multiple processors, and allow 26 bit apps to run if 2 |
[ Log in to reply ] | |
senduran | Message #1682, posted at 10:36, 28/11/2000, in reply to message #1679 |
Unregistered user |
|
[ Log in to reply ] | |
rich | Message #1683, posted at 16:57, 28/11/2000, in reply to message #1682 |
Unregistered user | I think most of the code written to be compatible with 32 bit will still work on 26 bit machines and vice versa once upgraded (ref: Techwriter/Ovation?), so let's not talk about ditching our RiscStations just yet! |
[ Log in to reply ] | |
johnstlr | Message #1684, posted at 17:23, 28/11/2000, in reply to message #1683 |
Unregistered user | That's a good point Rich. Actually I was reminded by a message on the newsgroups today that 32bit code is ok all the way back to the ARM610 so there's nothing to really worry about. Anyone with an ARM3 machine or less should really upgrade (and this includes me - I'm just waiting for the right machine). I personally don't see why application developers should support anything less than the ARM610 (maybe even ARM7500) anymore. |
[ Log in to reply ] | |
Gulli | Message #1685, posted at 18:30, 29/11/2000, in reply to message #1684 |
Unregistered user | I personally don't see why application developers should support anything less than the ARM610 (maybe even ARM7500) anymore. I couldn't agree more, developers should start to assume at least RISC OS v. 3.5 from users. If they continue to develop for 3.1 and older, applications will not have the freedom to evolve. Continuously trying to keep programs running on 4Mb computers or maybe even 2Mb is just getting a bit tight. Surely many programs don't need more than 2Mb of memory and will not need more but far too many programs will suffer with these restraints. Gulli |
[ Log in to reply ] | |
jess | Message #1686, posted at 20:10, 29/11/2000, in reply to message #1685 |
Unregistered user | Surely where a program would not be compromised by being compatible with 3.1 it might as well be made compatible. e.g. AcornICQ runs quite well on an A3020. That way when you upgrade, you can lend out the old one to friends and show them that even old RISCOS is good. |
[ Log in to reply ] | |
johnstlr | Message #1687, posted at 22:21, 29/11/2000, in reply to message #1686 |
Unregistered user | The problem is that a lot of the things that people want, ie great games (3D in particular) and others.. aren't practical on the lower end machines but if a developer doesn't make the software run on these machines they get slated by disgruntled users. Personally I wouldn't care about the views of these users and they're not representative of the people doing the buying. I do agree though that where possible backward compatibility should be maintain. however I don't believe any developer should spend time making it happen. If it works, great, if not well, it has been over 10 years since the ARM2 first arrived.
|
[ Log in to reply ] | |
Wrath | Message #1688, posted at 08:17, 30/11/2000, in reply to message #1687 |
Unregistered user | The problem is that a lot of the things that people want, ie May I just say that SunBurst was slagged off because it used lo-res graphics so it could be ran on ARM2 upwards and I have had a few emails slagging EMD off because it only works on SA RPC's. You can't win, forget these stupid people. If you have a package that could easily work on older machines then do it but at VOTI we code games for the computer systems we use, we then see if it can run on lesser machines, if it won't or requires too much work then we won't bother. |
[ Log in to reply ] | |
The Doctor | Message #1689, posted at 18:44, 30/11/2000, in reply to message #1688 |
Unregistered user | You can't win, forget these stupid people. If you have a package that could easily work on older machines then do it but at VOTI we code games for the computer systems we use, we then see if it can run on lesser machines, if it won't or requires too much work then we won't bother. Quite right too. |
[ Log in to reply ] | |
ams | Message #1692, posted at 14:43, 3/12/2000, in reply to message #1691 |
Unregistered user | I don't think the issue is that of supporting old hardware for supporting old hardware's sake, but rather that the bulk of existing software is 26bit. I agree that new code should be 32 bit ready (and built to exploit SA/ARM9-10/xScale) as to do otherwise would be silly. People (even after 32 bit introduction) will still need old applications that are no longer being developed (but that are still useful). Or do we just say bye-bye to Artworks, ABC and a raft of other useful apps. That point can only be addressed feasibly in one way - that of allowing backward compatibility for old code (that may mean dynamic translation or emulation or trapping illegal 26 bit flag ops). The only alternative is (somehow) that the original developers release source code for their apps and allow them to be updated (fat chance of that I think) Old code will run slower than new code (and users will be aware of this) so it will promote sales of new (32 bit) software and also new hardware that best utilitises the new 32bit stuff. |
[ Log in to reply ] | |
jess | Message #1693, posted at 19:08, 3/12/2000, in reply to message #1692 |
Unregistered user | I certainly wouldn't buy a system that did not support old apps. I think the most sensible option would be to have a second processor as an option to support old apps. |
[ Log in to reply ] | |
ams | Message #1694, posted at 19:18, 4/12/2000, in reply to message #1693 |
Unregistered user | Agreed ! |
[ Log in to reply ] | |
Gulli | Message #1695, posted at 21:33, 4/12/2000, in reply to message #1693 |
Unregistered user | Maybe the ChiOS would become a serious option again, RiscPC emulation on a card? |
[ Log in to reply ] | |
Wrath | Message #1700, posted at 16:35, 7/12/2000, in reply to message #1699 |
Unregistered user | I was never in support of ChiOS because that could be the thing that brings the market down, you wouldn't need to buy a new RISC OS machine then, jsut a PC with power (cheaper) and whether anyone would bother to continue development for a card plugin is anyone's guess but I reckon the market would die. |
[ Log in to reply ] | |
old_oak | Message #1707, posted at 02:44, 9/12/2000, in reply to message #1702 |
Unregistered user | hmmm possibly, but there woudl be more users to buy the software, & it would save me having to "find" some money to buy an Omega :) Ah, Omega, Omega... has anyone seen proof that it works yet? Weren't they supposed to be shipping yesterday or something? Re: ChiOS RISC OS on a card is a mad idea that sounds the end of RISC OS. Absolutely, I agree. Not nice at all... |
[ Log in to reply ] | |
ams | Message #1712, posted at 19:29, 9/12/2000, in reply to message #1706 |
Unregistered user | Lee previously pointed out that it would be good if Castle produced a machine that supported PCI/USB and Podule bus but that Microdigital and RiscStation do not need to. Well if that were the case they would be at a disadvantage compared to Castle wouldn't they (assuming the Castle machine had both PCI and Podule busses). In addition Podule bus is (actually) simpler than PCI (as well as being slower). PCI chipsets (on the other hand) are notoriously "pickey". I recall a review of an Athlon board using a well known brand of PCI chipset (I shall not name the guilty !) and it refuses to operate with a certain brand of soundcard (and this problem is documented). I doubt if MD or RiscStation are going to develope a PCI chipset, so they will (no doubt) be relying on someone elses. Standard though PCI is it is not faultless, some implementations are flakey. It is difficult to design hardware to run using it. Developing drivers for PCI can be more expensive than developing new hardware and a driver for a simpler bus (like Podule). Lee is right we don't need to design the hardware add ons, but you need to fully understand them to write the drivers. Now if these are proprietry designs from large corporates they may not be willing to provide details or assistance (at least not without charging for it). If the details are not available either dodgy drivers or no drivers is what results. The difficulty of implementing PCI (+Drivers) should not be underestimated nor should we overestimate the advantage having PCI will give. Yes you may have cheaper PCI 100 BaseT cards and (later) a UW-SCSI card but that's it. No soundblaster, no fast 3D accelerators (most are AGP anyway and having PCI don't help there), no Creative Encore DVD, etc., That is unless a LOT of RiscOS boxes get sold with PCI in and a market established that attracts the like of Creative and others. Having PCI is useful in as much as its an "advertising" bullet point, in practical terms other than for NICs and cheap UW-SCSI cards it serves no other purpose. We should really aim higher, for more advanced bus structures that allow higher speed than PCI or Podule allow. If we've already chosen non-standard hardware why do it by halfs ? [Edited by ams at 19:35, 9/12/2000] |
[ Log in to reply ] | |
Gulli | Message #1713, posted at 02:58, 10/12/2000, in reply to message #1712 |
Unregistered user | We should really aim higher, for more advanced bus structures that allow higher speed than PCI or Podule allow. If we've already chosen non-standard hardware why do it by halfs ? All very good points you make here but not being very hardware minded, are there any faster more reliable bus structures available or is this a matter of creating a new type of bus structure? If the latter is the case I think PCI is the only option for the simple fact that the bus exists, much information about it is readily available and solutions to many problems that might come up have already been solved and are accessible from various sources such as Intel and others. Even lots of hardware for PCI cards is available off the shelf. If on the other hand a better and faster bus structure is readily available and doesn't cost an arm and a leg maybe that's the way to go but that doesn't seem to be what the developers are ready to do or what the users want and they are who in the end, wether people like it or not, the people that pays for the products. PCI has become the buzz word in RISC OS land (right up there with XScale) and many people see that as the only solution to all our problems. True, it could help out a lot but the mere existance of a RISC OS computer with a PCI bus doesn't get hardware and drivers up and running but the fact remains that developers that develop PCI cards are a penny a dozen so getting someone to help with writing drivers and developing hardware could be as easy as writing an e-mail! Gulli |
[ Log in to reply ] | |
johnstlr | Message #1714, posted at 16:58, 10/12/2000, in reply to message #1712 |
Unregistered user | Lee previously pointed out that it would be good if Castle produced a machine that supported PCI/USB and Podule bus but that Microdigital and RiscStation do not need to. Possibly for RiscStation. However I suspect if Omega appears on time it could clean up regardless. In addition Podule bus is (actually) simpler than PCI (as well as being slower). PCI chipsets (on the other hand) are notoriously "pickey". I recall a review of an Athlon board using a well known brand of PCI chipset (I shall not name the guilty !) and it refuses to operate with a certain brand of soundcard (and this problem is documented). I doubt if MD or RiscStation are going to develope a PCI chipset, so they will (no doubt) be relying on someone elses. Yes, I remember talking to Simtec at Wakefield and they pointed out that one of the problems they'd had with Evolution was 2 PCI chipsets not actually fully conforming to the PCI spec. However I was also left with the impression that they'd cracked it. Standard though PCI is it is not faultless, some implementations are flakey. It is difficult to design hardware to run using it. Developing drivers for PCI can be more expensive than developing new hardware and a driver for a simpler bus (like Podule). Lee is right we don't need to design the hardware add ons, but you need to fully understand them to write the drivers. Now if these are proprietry designs from large corporates they may not be willing to provide details or assistance (at least not without charging for it). If the details are not available either dodgy drivers or no drivers is what results. Again these are potential problems but it can also be looked at another way. Writing a PCI driver will be difficult, there are no two ways about it, but from a personal point of view, it's merely a case of getting to grips with the information and writing the code. Creating hardware is completely beyond me. One is a very difficult task, which may or may not get carried out, the other is simply impossible. The difficulty of implementing PCI (+Drivers) should not be underestimated nor should we overestimate the advantage having PCI will give. Yes you may have cheaper PCI 100 BaseT cards and (later) a UW-SCSI card but that's it. No soundblaster, no fast 3D accelerators (most are AGP anyway and having PCI don't help there), no Creative Encore DVD, etc., That is unless a LOT of RiscOS boxes get sold with PCI in and a market established that attracts the like of Creative and others. But under the current system we can't even get UW-SCSI or cheaper Ethernet. As for 3D cards, yes most are AGP although 3DFX still produce PCI Voodoo cards. Admittedly there is no way of telling how much longer they will continue to do so. Also why can't we get soundblaster, or at least soundblaster compatible? Aren't soundblaster compatible ISA cards available the RiscStation 7500? Surely if the information for creating a driver for them is available they will be for the PCI variant (unless, as you say, a proprietry chipset has been used) Having PCI is useful in as much as its an "advertising" bullet point, in practical terms other than for NICs and cheap UW-SCSI cards it serves no other purpose. We should really aim higher, for more advanced bus structures that allow higher speed than PCI or Podule allow. If we've already chosen non-standard hardware why do it by halfs ? Suggestions? This isn't a field I know too much about so I'm not aware of many alternatives past Microdigitals MicroBus and Millipedes souped up podules. |
[ Log in to reply ] | |
Pages (4): |< < 2 > >| |