Programming: AMPLE and FORTH
Pages: 1 2
Alex Farlie (1992) 44 posts |
@Jon Abbot.. Sorry.. So is anyone interested in writing a clean AMPLE for Ro5.20 ? ( In the notes, I have a very strong view that there might be a SWI clash…) |
Chris Jordan (2305) 5 posts |
Alex wrote: “(Not sure if AMPLE on the BBC had pre-emption for multiple players)” It doesn’t. Player multi-tasking is cooperative. The IDLE word does the co-operation. The only pre-emptive multiple tasking is for higher-priority: playing scheduled music events, envelopes, timebase etc. Those tasks don’t play user words. |
jonah (2332) 1 post |
never heard of AMPLE, really interesting! but it seems like you had to use special outboard synthesizer to make sound?* how would you go about interfacing that with the Pi? using the GPIO ? i came across post searching for info on integrating the SN76489 sound chip from the BBC micro with the Pi on account of BBC Basic. it seems that you used to be able to address up to 8 of them.
|
Chris Jordan (2305) 5 posts |
You might find the Programmer Guide interesting: http://www.colinfraser.com/m5000/ample-nucleus-pg.pdf . > but it seems like you had to use special outboard synthesizer to make sound?* No. You could use MIDI instead. > the details of this are pretty interesting Glad you like it! http://www.colinfraser.com/m5000/m5-eti.htm Chris (designer of AMPLE and the Music 500) |
Rick Murray (539) 13840 posts |
Any chance of a 32 bit version? ;-) |
Steve Pampling (1551) 8170 posts |
With the source available it shouldn’t be too much trouble. |
Chris Jordan (2305) 5 posts |
>> designer of AMPLE and the Music 500) Of AMPLE, yes, but my first priority is to get the BBC Micro ROM (Nucleus) version running in emulation. If anyone here has user experience of AMPLE for BBC Micro and BeebEm for Windows and would like to help, please get in touch. |
Alex Farlie (1992) 44 posts |
Chris Jordan, as far I know the issue with BeebEm and Ample is the lack of an emulation of the Music 500/5000’s hardware part, As far as I was aware the software itself runs without issues provided no Music 2000(/) keyboard emulation is needed, (there is obviously no sound because of the lack of the Music 500 output.) (As a side issue, was the synth in the Music 500 custom? Or is it a set of chips that could be reproduce in FPGA?) You might also ask the authors of B-Em , as they incorporated a full blown SID emulation into their emulation. The 26bit version mentioned elsewhere appears to have used RISC OS voice generators for internal sound, which is an approach a fully 32 bit version should also use. (Internally I think the 26bit version uses a 32bit cell size for it’s data stack. |
Chris Jordan (2305) 5 posts |
> as far I know the issue with BeebEm and Ample is the lack of an emulation of the Music 500/5000’s hardware part That’s no impediment to running AMPLE. Re emulation of the Music 500/5000, the main issue is that BeeEM does not support the 1MHz bus. > As far as I was aware the software itself runs without issues provided no Music 2000(/) keyboard emulation is needed I’d like to see chapter and verse on that. E.g. an install script and demo. > (As a side issue, was the synth in the Music 500 custom? Yes. See http://www.colinfraser.com/m5000/m5-eti.htm . > Or is it a set of chips that could be reproduce in FPGA?) Yes, that too. But there’s no need. It does little more than six million 8-bit adds per second, so can easily be run on the CPU of a typical BeeEm host. > You might also ask the authors of B-Em , as they incorporated a full blown SID emulation into their emulation. Strange no 1MHz bus there. > The 26bit version mentioned elsewhere appears to have used RISC OS voice generators for internal sound, which is an approach a fully 32 bit version should also use. I’ve no interest in that. Mainly because there’s no existing user software that would benefit. But I’d be happy for others to write an AMPLE driver module for that. |
edwardx (1628) 37 posts |
I hope I’m not just stating the obvious, but the internet archive has a more recent copy (0.32) than the one linked earlier in this thread (0.27). This version appears to be 32 bit (relevant flag bits set, no complaints from Armalyser). Of course, it still crashes on RO5 when it tries to access the IOC. Might be easier to fix though? |
Jon Abbott (1421) 2651 posts |
Thanks for the link, at some point I’d like to look at coding a Music5000 emulator to hang off this, if anyone is interested in picking up the AMPLE side of it. |
Alex Farlie (1992) 44 posts |
@Chris Jordan – Someone now has made an FPGA version of the Music 5000 hardware – |
Rob Wilks (2324) 6 posts |
I don’t know if this is relevant, but I have a working version of ARMforth for the Pi etc – called ARMForth32. I know nothing about AMPLE, however. See www.rforth.uk for explanation and downloads if interested. |
GavinWraith (26) 1563 posts |
Unless Rob has amended the !ARMforth32 distribution you may find that it causes an abort on data transfer when you click on the iconbar icon on a Raspberry Pi2. With his advice I replaced the !Startup file by a copy of StartUps.!Startup4 and I commented out (put in parentheses) the two lines:
|
Tank (53) 375 posts |
That’s interesting. There must be an old version of GPIO being loaded, as the latest version is fine on the Pi2. |
Rob Wilks (2324) 6 posts |
The Forth works OK as long as you have the correct version of the GPIO module from Tank for the version of Pi you are using. If not, comment out the section in the !Startup file which loads the GPIO module. |
Tank (53) 375 posts |
Rob, there is no specific version for Pi2, as the latest GPIO works on Pi1,Compute,Pi2,Beagle,Devkit,Pandaboard,PandaboardES and may work on Pandora as well, but I have not had any user feedback on that. If you are running an older version it will fail though. |
Rob Wilks (2324) 6 posts |
Thanks for the update. We should all update to your latest GPIO! |
Colin Ferris (399) 1814 posts |
Just a note :- Archive Mag has a article on ‘ARM Forth’ this month Vol 23 No10. |
Alex Farlie (1992) 44 posts |
@Chris Jordan. The B-EM Emulator (see the stardot thread here :- It would be nice if someone was able to make use of those efforts to eventually get a fully 32bit enabled version of an AMPLE like system for |
Chris Jordan (2305) 5 posts |
> The B-EM Emulator (see the stardot thread here :- http://www.stardot.org.uk/forums/viewtopic.php?f=4&t=11983) now has support for the hardware side of the Music 500/5000 Thanks. I gave it a go and found it good, including in sound quality. The synthesis is not yet accurate e.g. PHSET is defunct, I’m sure it can be fixed. Also there’s jsbeeb https://bbc.godbolt.org/?disc1=5000mstr36008.ssd&hasMusic5000=true, though with the same inaccuracy. It has the advantage of including Music 5000 software, but here suffers occasional fail of keyboard input in the Mixing Desk. |
Pages: 1 2