Clipboard
Currently I am working on clipboard sharing. I had a look at the WinUAE sources, as it now also has clipboard sharing available. But I was not able to use any of their code. First they code all the m68k parts in assembler. Even if I really like m68k assembler, C has it advantages. Second thing is, they have all assembler parts in one file (filesystem.asm), which hasn't been updated in e-uae for quite a while (2007). Third, they exchange clipboard data on every clipboard change. So if you copy the clipboard, it is synced at once. I wanted to sync it only, if necessary.
Good thing is, that all the clipboard content parsing, WinUAE has to do, is not necessary for us. You can copy amigaOS clipboard data without modification to the AROS clipboard, as both have an IFF structure.
So now there is a small m68k program (clipd), which you can start in user-startup for example. As soon as it runs, you can enable/disable clipboard sharing in the j-uae gui.
Clipd is independent of janusd, so you can also use it in normal uae mode.
So far it is working only partially. Problem is, that there are quite often freezes and I am not so sure, why. Clipboard.device blocks writes as long as there is a read. Somehow this happens too often for me. Maybe there is some kind of race condition somewhere in my code. Or aros clipboard.device is buggy.
One thing I noticed in aros clipboard.device is, that it behaves different, if you don't supply a buffer for reading. In amigaOS you can find out the current size of the clipboard with data=NULL, on AROS you just get back -1. I will commit a fix for that as soon as I have everything working stable in j-uae.
My time is quite limited at the moment, so expect slow progress in the next weeks.
Have a nice weekend.
Currently I am working on clipboard sharing. I had a look at the WinUAE sources, as it now also has clipboard sharing available. But I was not able to use any of their code. First they code all the m68k parts in assembler. Even if I really like m68k assembler, C has it advantages. Second thing is, they have all assembler parts in one file (filesystem.asm), which hasn't been updated in e-uae for quite a while (2007). Third, they exchange clipboard data on every clipboard change. So if you copy the clipboard, it is synced at once. I wanted to sync it only, if necessary.
Good thing is, that all the clipboard content parsing, WinUAE has to do, is not necessary for us. You can copy amigaOS clipboard data without modification to the AROS clipboard, as both have an IFF structure.
So now there is a small m68k program (clipd), which you can start in user-startup for example. As soon as it runs, you can enable/disable clipboard sharing in the j-uae gui.
Clipd is independent of janusd, so you can also use it in normal uae mode.
So far it is working only partially. Problem is, that there are quite often freezes and I am not so sure, why. Clipboard.device blocks writes as long as there is a read. Somehow this happens too often for me. Maybe there is some kind of race condition somewhere in my code. Or aros clipboard.device is buggy.
One thing I noticed in aros clipboard.device is, that it behaves different, if you don't supply a buffer for reading. In amigaOS you can find out the current size of the clipboard with data=NULL, on AROS you just get back -1. I will commit a fix for that as soon as I have everything working stable in j-uae.
My time is quite limited at the moment, so expect slow progress in the next weeks.
Have a nice weekend.
2 Comments:
Nice... It seems you're about to drop one more of the intended goals.
It's a shame about the current bugs, but I hope you get it by soon.
Keep up the good work and keep us posted!
I love this project o1i! Keep on going, I don't care how buggy it is, I just want to see it work... The bugs can be fixed later ;)
Post a Comment
<< Home