Windows must still work at a 640 × 480 resolution
Pages: 1 2
Clive Semmens (2335) 3276 posts |
Probably. Impression Publisher Plus is what I meant, of course. We used to produce The Journal of Physiology, The Journal of Experimental Physiology, and Proceedings of the Physiological Society on it, up until not long after I left the Physiological Society in 1997. When the society downgraded to PCs (and not producing their own camera-ready copy), I bought all the RiscPCs (& associated scanners and printers & trackerballs) for a song… |
Rick Murray (539) 13840 posts |
Well, it looks like it is back to Windows. After figuring out how to add an SSH key to FileZilla and mucking with the permissions to satisfy SSH’s paranoia, FileZilla keeps failing: Trace: Successfully loaded 1 key pair from file Trace: Offered public key from "/home/rick/.ssh/heyrick_private_key.ppk" Trace: Server refused public key Trace: Disconnected: No supported authentication methods available (server sent: publickey) Huh? It won’t even load the public key. That’s the private one… Jeez. So I then try the command line SSH using -I to specify the key. That’s even worse, it stops and asks for the key’s passphrase. Which would be expected had the key actually contained a passphrase. It won’t take "" for an answer, so, I give up. Back to WinSCP, which connects quite happily using the exact same key that both of these things choke on. :-/ Writing this on Firefox on Ubuntu as I can at least download a large file without the thing “randomly giving up” like the Windows build does. It’s just a shame the option for putting menus in the window title bar is so broken. It is really weird having menus at the top of the screen. That’s one of the things that used to seriously bug me with MacOS. Now back on topic (sorta):
Given that MPU doesn’t map memory, it is possible that the relocation routines are similar to those of the 6502 era – in other words, physically take this memory and put it there – perhaps by loading up half the registers from one part, half from the other, and writing them back in reverse placement. This probably wouldn’t be a terribly expensive operation if your processor runs at ~150MHz and you only have ~128KiB or so to muck around in (so your amount of memory shuffling would likely be fairly limited). That said, with a flat addressing scheme, I wonder why somebody would choose to implement anything that required some sort of “paging”. It’d be better to build software that could run in-situ, like in the days of old.
Then one would not need RISC OS. I have a design for a 6502 based burglar alarm system. It was to be fairly sophisticated. That’s part of what my Amelie project was about (that robot stuff was just waffle for testing the I/O). Of the parts that I did get to do, the base OS was likely to be around 1.5K to fit into a 2K EPROM leaving 1/2K for the application software; and the system memory was barely over 1/2K to fit in a 2K SRAM. Most of that was page zero assignments and the CPU stack. ;-) Why a custom “RickOS”? Because I absolutely didn’t need something even anywhere near as complicated as the BBC MOS. Basically, the fact that the file was called BIOS should be a clue – it contained routines to talk to the hardware and dispatch interrupts. The 6522’s timer ran a 100Hz clock, and from that periodic events took place. Buttons, LEDs, and an LCD panel would allow for setup and status. I abandoned the idea when it became clear that building this (even using lots of recycled parts) would work out more expensive than buying a PIC board. And now, with the Pi Zero being the price it is, building such a thing would be surely for “geek value”. I had in mind to make a smart controller for an old washing machine. For that I would have used the Pi Zero. Horribly horribly overpowered (my 6502 design would run it just as well), but price trumps sanity in this case.
I’m looking at Linux that runs on the ARM-M and can provide networking, versus RISC OS that hasn’t even got a presence on that hardware. I think RISC OS may work in an embedded device, but not the sort that runs on the ARM-M series. Something a little bit more complex that requires a lightweight system with a UI. I won’t mention my PVR (yet again) suffice to point out that the onboard Linux needed to commandeer the CF card because it spilled onto that, having run out of space in the 16MiB Flash. Jeez.
Come on, at least RISC OS fared better than the tragic history of Windows Mobile. ;-) Seriously – I use both Windows and RISC OS because each have their benefits. RISC OS sucks for watching videos, but DigitalCD plays The Eagle fairly reliably (depending on WiFi) whereas WinAmp on the PC seems to just give up after a while. I like to program under RISC OS because, maybe I’m old fashioned, but I tend to find the modern IDE stuff like autocompletion to be a distraction. I’m not the slightest bit concerned about build speed and how much the DDE lags behind a cross compiled GCC running on a billion-Hz Linux box because, well, my projects just aren’t that big. And I can run the compiled code directly on the machine itself rather than faffing around with networking, requiring multiple computers to be active, yada yada. I don’t see RISC OS useless. I see it as an alternative. It’s a bit like the never-ending war between Apple and Android fans. I have an iPad and a few Android phones. iOS is a pain in that iTunes sucks massively, but that aside, both are very different yet very alike. They perform a similar task in a different way. It’s like English vs French. There should be no superiority of one over the other, they are languages and people use them to communicate with each other. Yet, still, for all of this, RISC OS is a friendly OS to use. It doesn’t make assumptions. It doesn’t… oh sod it. It’s like Marmite – either a person likes it or they don’t. The process control systems at work run on embedded x86 based SoCs You said “for desktop and server” following talking about the Cortex-M; so I wondered if it was a simple omission that fact that there are huge amounts of embedded devices that run on machines that would be entirely capable of running desktop/server OSs. That’s why I said what I did. It’d be like running something off a Pi Zero. I mean, there are plenty of plans on the internet for controlling drones using a Pi Zero. Why? Half a gig of RAM and a GHz of processing power? Total overkill. My own drone uses an M series device. I don’t know whether it self-clocks or if it taps off the 16MHz crystal on the 2.4GHz receiver board. At any rate, let’s just assume it runs at 16MHz and then quadruple the clock speed to give it enough bandwidth to deal with inputs from GPS and the like (in addition to the built in 6 axis gyro), although I’d imagine the GPS chip would probably talk serial… that gives us 64MHz. Far away from the 1GHz of the Pi Zero. People are probably using them in drones because they’re dirt cheap and it is simpler to write stuff in Python… There are many kinds of embedded device. It isn’t just a question of the microcontrollers in bread makers and desktop/server machines.
You know my address, send me a free Pi. Why? Because if you want ideas, I can pluck ’em out of my backside all day long. There’s one thing having ideas, it’s quite something else having the time and ability to make the ideas into something. That’s why I post stuff on the forum here (my regular whinging about how much the Territory support and support for non-Latin languages sucks), but don’t really push things. I don’t think I’m technically able to hack the Wimp, and those who are have better things to be doing. Let’s face it, most RISC OS users are British so the issue with simple things (like the timezone issue in localtime() that is now fixed, or the inability to modify a territory’s values without rebuilding the module, or the fact that huge parts of RISC OS are still stuck depending on an eight bit Latin character set) just don’t affect them so it never gets considered. And if it were, well, the list of important desired things (IPv6 anybody) far outweights the wish list items. So I will grumble about the fact that RISC OS is probably the only platform left that shows my song titles as gibberish, while accepting that there are more important issues. I can offer lots of ideas. But mere ideas are ephemeral concepts without substance. What makes the difference is to not only have an idea, but also to have realistic thoughts about how to make that idea “become”. |
David Feugey (2125) 2709 posts |
The Raspberry Pie contest is about resources OR ideas OR surprise. To have enough time to transform these in real things is not my concern here :) |
Rick Murray (539) 13840 posts |
In that case – one of these do-it-yourself drones (because the ones in shops are too small to fit in hardware, plus their size makes them less wind stable). BBC BASIC ought to run fast enough (!) for the control program to be written in BASIC. Obviously it will likely take a fair bit of trial and error to interpret the information from the gyro and apply that to the motor controls, not to mention coping with the craft actually moving by intention (you don’t want to tip forwards to move forwards and have the stabilising software correct for this by flattening out the flight). Once it is able to fly true and steady, the next step is to add manual control (and thus verify that the software for auto stabilising behaves ;-) ). One feature that would be brilliant to add that so many budget drones lack… if the controller signal is lost, don’t just fall out of the damn sky. The gyro works on six axis, so it ought to be possible to tell when we’re falling. So upon losing control signal, flatten out and then slowly reduce power until we sense we’re going down. Maintain that state until we sense we’ve hit something (probably the ground). A soft crash is going to be better than a freefall. That done, we can start paying attention to the GPS. This, obviously brings lots of possibilities (programmed flight through various waypoints) but also brings lots of complications – the accuracy of GPS varies, the accuracy of GPS height is appalling, and what to do if GPS signal is lost. Not to mention detection and handling of if we crash into anything (abort! abort! abort!). Giving it just the amount of thought it has taken to write this, I’d say the hardware shouldn’t be a problem. Perhaps you can already find kits for this sort of thing, or “instructs less” from those that have already done it with Linux. Added benefit – by using a LiPo battery, a hard enough crash might give you a pleasing Gerry Anderson style Fireball XL5! 8-) [https://www.youtube.com/watch?v=MYFvW4ypbt8] There. There’s an idea to contemplate. |
Ronald May (387) 407 posts |
FileZilla keeps failing: Putty is popular on Windows and has a similar install/gui for Linux |
Ronald May (387) 407 posts |
How did your install of ubuntu 10 go? A later ubuntu lxde or so version should be OK on Pentium 4. I have been using Peppermint 6 which uses ubuntu repos too. No limits to what you can install later on these basic distros, They just dont start off chock a block with stuff. |
David Feugey (2125) 2709 posts |
Hum… Lot of hardware, but will RISC OS help here? Will a Pi B help here (you mention a Pi0)? IMHO, you can provide any RISC OS software idea (just describe it with precision), but if it’s hardware, it should be linked to RISC OS. Else where is the point? For example: a Pi B in my classroom to discover RISC OS, a Pi B for my project of file server for BBC (already done by John Gales, even if he won for software). A Pi B because my RPC is dead, and I trade it for my set of acorns drawings. Etc. I have the feeling that everyone tries to propose something disruptive and complex. That can be simple too :) For resources, a good idea could be a short guide to speed-up BBC Basic, or – to go back on topic – an how-to compile your own cut down kernel. With a test image for RPCEmu for example. Other? Some 6502em front-end for (real) BBC Micro DP titles. New levels for a game, etc. Endless possibilities. |
Rick Murray (539) 13840 posts |
A lot of your examples, one could ask the same question.
If it has the same I/O, could be useful for development. However the Zero onboard as every gram counts. One of the interesting points of using RISC OS is that it encourages you to think about how the mechanics operate. If you’re going to go the Linux route, you might as well just use the code written by others and regurgitated on the repository – and never really think about how the things actually work. After all, if you’re going to do something like this, shouldn’t it be educational?
File server for BBC off a Pi? How does that work?
;-) Sorry, I think “Pi to replace my RiscPC” is just taking advantage… an idea ought to be something that at the very least can stimulate some form of discussion, even if it ultimately ends up going nowhere. |
Chris Mahoney (1684) 2165 posts |
If I had unlimited time (and patience!) then I’d make a full Japanese translation for the OS; that would force “Unicoding” a lot of stuff! But I don’t have unlimited time, and I certainly don’t have unlimited patience. Unlimited documentation would be nice too; I still have no idea how to implement clipboard support into my own app… (and it doesn’t help when the PutClip sample app crashes as soon as I try to, um, put something on the clipboard). |
Fred Graute (114) 645 posts |
If you could provide me with more details of the crash then I may be able to fix it. It’s working fine for me using an ARMiniX, RO 5.23 (19 Sep 2015) and Clipboard 0.09. GetClip crashes though when using jpegs. PutClip doesn’t do anything special, it simply uses the |
Chris Mahoney (1684) 2165 posts |
I saw a similar report when searching for the problem. It was about a month ago so I don’t recall the specific error, but I had simply typed something into the box and hit the relevant button, with no success. I’m on a Pi 1 and my OS is from Feb 2016 (with low vectors). I think it’s Clipboard 0.09. Unfortunately I won’t be able to provide any more details anytime soon as I’m away from my RISC OS machine for several weeks. |
Fred Graute (114) 645 posts |
Thanks for the reminder, Chris. The version of PutClip on the ROOL site does not support typing into the writable area. It only support dragging a file (draw, jpeg or text) to the window. I’ve updated PutClip and GetClip and just need to do some clean-up after which I’ll make them available for download, along with Clipboard 0.09 (as it’s no longer available from the ROOL site it seems). |
Chris Mahoney (1684) 2165 posts |
And then today while heading to work I suddenly remember making this post… three weeks after getting back from overseas. I’d be a hypocrite to rush you after that, but did you end up making the updated PutClip/GetClip available somewhere? :) |
Patrick M (2888) 115 posts |
Sorry if someone already said something like this. Rick Murray, |
Colin Ferris (399) 1814 posts |
Since you use Linux/Wine – have you got Rick’s prog ‘Strawhelp’ working? |
Fred Graute (114) 645 posts |
I have now, the updated PutClip/GetClip (+ Clipboard module) can be found here Hopefully they’re of use. :-) |
Chris Mahoney (1684) 2165 posts |
Thanks; will give it a go tonight if I get a chance :) |
Chris Mahoney (1684) 2165 posts |
Well, I didn’t get a chance back then, but today I did! The previous version (from ROOL’s CVS) had a readable !RunImage but the new one looks like it’s been put through some sort of code compactor. For example, the call to Clipboard_Put used to be SYS “Clipboard_Put”,0,ClipType%,ClipPtr%,ClipLen%,“ClipTest”,0 but is now SYS319488,0,CA%,j%,h%,“ClipTest”,0Is it possible to get a human-readable version? |
Fred Graute (114) 645 posts |
You already have it. :-) PutClip and GetClip were written using AppBasic. To produce a stand-alone application the source files need to combined with the code from the AppBasic manager. This produces a single !RunImage file either in compressed or uncompressed form (I usually choose the former). The original source files were held in a directory !RunImage. This directory is renamed to !AppName prior to creating the single !RunImage file. So the uncompressed source PutClip is inside the !PutClip directory, likewise for GetClip. |
Chris Mahoney (1684) 2165 posts |
So I do! Thanks. I’m not familiar with AppBasic, if you couldn’t tell :) |
Tristan M. (2946) 1039 posts |
Any chance of a round two?
In the end I didn’t succeed because my Pi Zero and 3 are the odd ones out. No networking for Zero and couldn’t do anything useful with GPIO on the 3. Sorry for the huge derail. I did come here for a reason. |
Pages: 1 2