![]() |
![]() |
#201 |
Registered User
Join Date: Nov 2018
Location: Germany
Posts: 110
|
|
![]() |
![]() |
#202 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Cheers Michal!
Now I need to figure out how to swap in your Emu68... we may need a long chat about interrupts ![]() ![]() Last edited by bloodline; 21 February 2019 at 10:10. |
![]() |
![]() |
#203 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,389
|
Baremetal is an interesting and exciting project.
|
![]() |
![]() |
#204 |
Registered User
Join Date: Jan 2014
Location: Somerset, UK
Posts: 547
|
Excellent project. I came across this via looking for C64 Bare Metal emulators.
Sorry I can't help in any technical capacity. Power to the Pi! |
![]() |
![]() |
#205 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Ok, CIA question time!!
When a Key is pressed a raw key value (0x20 for the "A" key for example) is placed into CIA A sdr register. The Interrupt bit SP is set in the icr, and the CIA generates an interrupt on paula. when a key is released, a raw key value is placed into CIA A sdr register (and bit 7, the topmost bit is set (0xA0 for the "A" key in this example) )... SP bit set, interrupt is again generated. This is the model I am using... But I'm getting spurious keyboard inputs, have I missed a step? ![]() -Edit- Reading the HRM again... Perhaps the rawkey value is shifted left 1 bit and the key up flag is added at bit position 0... I'll need to wait until later to test. -edit2- and now I realise I need to invert the bits... ok it works. Omega has keyboard input ![]() Last edited by bloodline; 21 February 2019 at 16:28. |
![]() |
![]() |
#206 |
Registered User
Join Date: Nov 2015
Location: Italy
Posts: 192
|
|
![]() |
![]() |
#207 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,567
|
Keycode is rotated and inverted. Keyboard handshake is also required, keyboard won't send new key codes (*) until handshake pulse.
*) not 100% true but lets not make this unnecessarily complex. |
![]() |
![]() |
#208 | |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
Yes, I was missing that inversion step. I now have basic keyboard support. I haven't implemented any handshake, which will probably cause a problem later on... but for now I have it working enough to test more critical parts of the emulator. |
|
![]() |
![]() |
#209 | |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
-Edit- Yes, that was a significant bug. Fixed now! I can't believe I managed to get as far as I did with it ![]() Last edited by bloodline; 21 February 2019 at 16:59. |
|
![]() |
![]() |
#210 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Lores screens work fine up to 5 bit planes.
Hires screens work fine up to 3 bit planes... When the forth bit plane is active this happens: [ Show youtube player ] Probably related, but my Copper is not coping well either: [ Show youtube player ] Last edited by bloodline; 21 February 2019 at 23:51. |
![]() |
![]() |
#211 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
A rewrite of the display generation is getting better... draggable screens now work properly... but still glitchy..
![]() [ Show youtube player ] |
![]() |
![]() |
#212 |
Registered User
Join Date: Mar 2017
Location: Minehead / UK
Posts: 608
|
Sorry for the dumb question but what is this running on? I thought this was bare metal on a Raspberry Pi but you seem to be running in a window under MacOS. Is there a PI emulator these days?
|
![]() |
![]() |
#213 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Draggable screens now work, my display generation wasn't woking properly. To fix the issues, I have to reset the framebuffer drawing counter every time bplcon0 is called.
Everything works a charm now ![]() |
![]() |
![]() |
#214 | |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
This is written entirely in C, with no support functions from the OS or any other libraries. It can be compiled to run directly on a CPU without a host OS. |
|
![]() |
![]() |
#215 |
Registered User
Join Date: Mar 2017
Location: Minehead / UK
Posts: 608
|
Oh ok - clever
![]() |
![]() |
![]() |
#216 | |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
![]() |
|
![]() |
![]() |
#217 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quick update for those following, thanks to some serious debugging by Dirk Hoffmann (currently working on vAmiga), Omega can now load ordinary ADF disk images.
|
![]() |
![]() |
#218 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
|
![]() |
![]() |
#219 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
|
How about MSYS2 on Windows since I can't get the freeware Visual C++ any more?
|
![]() |
![]() |
#220 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga emulator for iOS | steviebwoy | support.OtherUAE | 35 | 15 November 2014 10:14 |
Amiga emulator for a PSP? | Vars191 | support.OtherUAE | 1 | 09 May 2010 02:08 |
Frederic's Emulator inside and Emulator thread | Fred the Fop | Retrogaming General Discussion | 22 | 09 March 2006 07:31 |
ADF Files -> Amiga(amiga with dos Emulator) | Schattenmeister | support.Hardware | 8 | 14 October 2003 00:10 |
Which Amiga emulator is best? | Tim Janssen | Amiga scene | 45 | 15 February 2002 19:52 |
|
|