English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 21 February 2019, 09:12   #201
mschulz
Registered User
 
Join Date: Nov 2018
Location: Germany
Posts: 110
Quote:
Originally Posted by bloodline View Post
I have uploaded a few MFM ADFs to the GitHub, one has SYSInfo on it.
Now this is awesome! :-D Congrats!
mschulz is offline  
Old 21 February 2019, 09:26   #202
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by mschulz View Post
Now this is awesome! :-D Congrats!
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.
bloodline is offline  
Old 21 February 2019, 09:30   #203
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,386
Baremetal is an interesting and exciting project.
Pyromania is offline  
Old 21 February 2019, 10:03   #204
Higgy
Registered User
 
Higgy's Avatar
 
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!
Higgy is offline  
Old 21 February 2019, 14:45   #205
bloodline
Registered User
 
bloodline's Avatar
 
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.
bloodline is offline  
Old 21 February 2019, 16:16   #206
aros-sg
Registered User
 
Join Date: Nov 2015
Location: Italy
Posts: 192
Quote:
Originally Posted by bloodline View Post
Running DPaint seems to give a clear reproducible blitter error.

If adat was masked (afwm/alwm) previousA may need to be set to that masked adat, not to the original unmasked adat.
aros-sg is offline  
Old 21 February 2019, 16:17   #207
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,546
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.
Toni Wilen is offline  
Old 21 February 2019, 16:37   #208
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Toni Wilen View Post
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.
Thanks Toni.

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.
bloodline is offline  
Old 21 February 2019, 16:39   #209
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by aros-sg View Post
If adat was masked (afwm/alwm) previousA may need to be set to that masked adat, not to the original unmasked adat.
Good spot! I will test this later! Many thanks.

-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.
bloodline is offline  
Old 21 February 2019, 23:11   #210
bloodline
Registered User
 
bloodline's Avatar
 
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.
bloodline is offline  
Old 22 February 2019, 22:54   #211
bloodline
Registered User
 
bloodline's Avatar
 
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 ]
bloodline is offline  
Old 22 February 2019, 23:32   #212
MartinW
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?
MartinW is offline  
Old 23 February 2019, 00:29   #213
bloodline
Registered User
 
bloodline's Avatar
 
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
bloodline is offline  
Old 23 February 2019, 00:32   #214
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by MartinW View Post
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?
Hi there, I have written this to I/O via a set of Host functions. While I'm developing it, my host functions use SDL 2.0 as the "platform", once it works, It will only only require rewriting 3 functions (Framebuffer, keyboard, mouse) to make it work on any other platform.

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.
bloodline is offline  
Old 23 February 2019, 00:35   #215
MartinW
Registered User
 
Join Date: Mar 2017
Location: Minehead / UK
Posts: 608
Oh ok - clever Well, to me anyway. Might have been obvious to everyone else but hey!
MartinW is offline  
Old 23 February 2019, 01:02   #216
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by MartinW View Post
Oh ok - clever Well, to me anyway. Might have been obvious to everyone else but hey!
No, not entirely obvious. This project has two major parts, the firsts part is to get an acceptable, but basic Amiga emulation working, the second part is to then run that on a RaspberryPi with no support software. I managed to get a basic frambuffer and keyboard workning baremetal on my RaspberryPi (following a few tutorials), now I’m trying to get the first part working
bloodline is offline  
Old 24 February 2019, 23:30   #217
bloodline
Registered User
 
bloodline's Avatar
 
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.
bloodline is offline  
Old 25 February 2019, 16:32   #218
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by nogginthenog View Post
In Windows cmd I get:

Code:
WinZorro.exe raw.adf
Floppy size: -1

Entering main loop
Followed by the crash. I guess the floppy size -1 is the key.
Now the Source is public, does anyone fancy running a Windows Build for public testing?
bloodline is offline  
Old 25 February 2019, 16:40   #219
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,190
How about MSYS2 on Windows since I can't get the freeware Visual C++ any more?
Samurai_Crow is offline  
Old 25 February 2019, 17:02   #220
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Samurai_Crow View Post
How about MSYS2 on Windows since I can't get the freeware Visual C++ any more?
I'll can try and give it a go, but I won't be near a windows machine for a while.
bloodline is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 16:41.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11024 seconds with 14 queries