Started by revaldinho, 22:01, 05 December 18
0 Members and 1 Guest are viewing this topic.
QuoteIt could be configured as a simple CPC-GPIO card for control applications.
Quote from: LambdaMikel on 22:17, 05 December 18@zhulien's idea was also to have it emulate RAM / ROM / ... and GPIO. And my impression / suspicion was that without a "custom firmware", even the RPi 3B+ would not be fast enough for that (I mean, Linux in terminal mode with C program - certainly not with Python... and without pulling ~READY waitstates of the Z80 of course ) Of course, for GPIO or so, that's a different story. Can you comment on this please? Thanks
Quote from: revaldinho on 22:49, 05 December 18Those all sound like bare-metal applications running on the PI and using the interface card as just a level shifter.
QuoteEmulating ROM is probably ok. After all that's how Duke's M4 card works using a much less powerful CPU than the one in the RaspberryPi. In fact I've also done a CPC ROM emulator using an ARM based Teensy3.6 microcontroller . Code for that is lurking in my GitHub repo under the CPIC project name (CPIC because I started off on an 80MHz PIC32 which was ok for servicing IO transactions, but not quite up to dealing with the ROM accesses themselves). PiTubeDirect itself is a bare-metal app listening to and bit banging GPIOs on a 6502 bus of course.
QuoteEmulating expansion RAM is much more tricky, maybe not doable and probably not worthwhile. There are plenty of RAM cards about particularly for the 6128 where amongst others my Old School card is very cheap to build and not much more to buy ready made (and not necessarily from me either - check eBay).
QuoteI was really thinking that if you wanted to do a Pi project then the thing to do would be to take a leaf out of Acorn's book. Configuring the CPLD as a set of FIFOs in both directions (you have up to 108 macrocells in an XC95108 device) and the CPLD would deal with all critical timing and both CPC and Pi could write and read the FIFOs at their leisure using polling or interrupts to check for FIFO data. Removing timing criticality from the Pi opens up the possiblity of running a full Linux with access to the CPC via Python or any other language and providing very high level access to features like networking or serial comms or mass storage etc.
Quote from: LambdaMikel on 00:47, 06 December 18A great idea for sure! It am not quite sure how one could run / delegate "tasks" on the second (emulated) CPU though. Somehow, you will need some kind of high-level protocol then, to write OP codes to the tube's CPU, and then it can process these tasks independently? Can the tupe CPU also access the CPC memory for shared memory communication?
QuoteThe software for this project is the more challenging part. The second processor is expecting the host to service all keyboard, screen, disk and IO routines and to deal with all command line input as if it were in an Acorn BBC Micro. As it happens the Amstrad CPC provides very similar capabilities to the Acorn machine - the same CRTC, similar video modes, similar firmware organisation and so on. Some OS calls can be mapped directly; others will need a bit more adaptation. We've only just started looking at this but already we have enough code to boot the OPC7 Second Processor into its monitor program, run commands to dump and disassemble memory and load and run simple OPC7 test programs from CPC disks.
Quote from: LambdaMikel on 17:49, 06 December 18So, the program in the screenshot shown is computing "e" "autonomously" on the second CPU, and the result can be retrieved via IO / buffers, from the CPC side using "OPC7" software running on the CPC (maybe RSX extensions - currently BASIC?) [size=0px]That would mean there is no shared memory between the 2 CPUs, and data has to be moved. Right? [/size]
Quote from: zhulien on 19:55, 10 December 18BBC Tube on CPC would be awesome... having full blown linux allows for a cool crosscompiling machine directly within the CPC
Quote from: zhulien on 08:52, 14 December 18Yes still but I am not so much a hardware guy. I can solder my circuit if you think it might work? I dont want to hijack this thread.
Quote from: Lardo Boffin on 13:10, 22 December 19New to the forum so apologies for bumping this one. Did this project get anywhere? It looks very interesting!
Page created in 0.079 seconds with 41 queries.