English Amiga Board


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

 
 
Thread Tools
Old 05 February 2018, 14:12   #21
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,504
If I remember correctly, KS 1.x boot screen assumes blitter undocumented feature: linedraw mode uses C modulo register for both C and D channels. D modulo is ignored. (There are also other linedraw undocumented features but they are not needed to get KS code working)
Toni Wilen is online now  
Old 05 February 2018, 15:10   #22
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Toni Wilen View Post
If I remember correctly, KS 1.x boot screen assumes blitter undocumented feature: linedraw mode uses C modulo register for both C and D channels. D modulo is ignored. (There are also other linedraw undocumented features but they are not needed to get KS code working)
Thanks for the steer! I have fiddled around with the code a bit and now get this with line mode enabled.

It's still a million miles from working, but at least it doesn't crash now
Attached Thumbnails
Click image for larger version

Name:	bootscreen5.png
Views:	534
Size:	27.1 KB
ID:	56636  
bloodline is offline  
Old 05 February 2018, 16:48   #23
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
I just had my first Guru which displayed the proper screen... sadly a bit messed up, so I can't read the guru number, but I'm still very excited!
Attached Thumbnails
Click image for larger version

Name:	guru1.png
Views:	576
Size:	27.0 KB
ID:	56637  
bloodline is offline  
Old 05 February 2018, 20:08   #24
nogginthenog
Amigan
 
Join Date: Feb 2012
Location: London
Posts: 1,309
Nice
Reminds me of the early UAE days when Bernd Schmidt posted similar screenshots (possibly to USENET?).
nogginthenog is offline  
Old 06 February 2018, 20:51   #25
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by nogginthenog View Post
Nice
Reminds me of the early UAE days when Bernd Schmidt posted similar screenshots (possibly to USENET?).
I can imagine the excitement that must have generated! I've spent far too long on the blitter, Kickstart 3.0 isn't even close to booting... I've basically run out of time now as I have to go back to work tomorrow. But getting this far has been really good fun... I wonder if my blitter is good enough to make a working floppy emulation?
bloodline is offline  
Old 10 February 2018, 00:00   #26
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
I have been over my line mode code (disabling the area copy mode) and it's clearly working to some degree...

I never realised that the boot screen was drawn by the blitter
Attached Thumbnails
Click image for larger version

Name:	bootscreen6.png
Views:	577
Size:	32.7 KB
ID:	56726  
bloodline is offline  
Old 10 February 2018, 01:28   #27
Sinphaltimus
Registered User
 
Sinphaltimus's Avatar
 
Join Date: Aug 2016
Location: Cresco, PA, USA
Age: 53
Posts: 1,126
Sweet. Congrats!
Sinphaltimus is offline  
Old 10 February 2018, 11:05   #28
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Ok, running the line mode and the area copy modes together yields this.

I'm going to leave the line mode alone for a bit now, since I spent ages trying to get it to work (and it clearly still doesn't work right), almost all the issues I have with it are to do with the Amiga's bit addressing of pixels... so much bit shifting

I suspect there may be problems because I'm not leaving the registers in the correct state when my functions return... Amiga coders seem want to take advantage of observed behaviour, rather than following the tech docs.

Looking back at the screenshots I have posted, is a great way to see how much I have learnt (seriously, this has to be one of the best ways to learn how this stuff works).

-Edit- One idea I have toyed with is using "byteplane" buffer... so the blitter copies in the pixel data, and stores each bit in as a byte in the internal buffer (obviously this requires 8 times as much memory), operates on the byte buffer, then then once the blitter operation is completed copies the data back to the original format...
Attached Thumbnails
Click image for larger version

Name:	bootscreen7.png
Views:	346
Size:	26.6 KB
ID:	56730   Click image for larger version

Name:	bootscreen8.png
Views:	336
Size:	25.8 KB
ID:	56731   Click image for larger version

Name:	bootscreen9.png
Views:	375
Size:	33.8 KB
ID:	56734  

Last edited by bloodline; 01 March 2018 at 15:52.
bloodline is offline  
Old 10 February 2018, 11:54   #29
AMIGASYSTEM
Registered User
 
AMIGASYSTEM's Avatar
 
Join Date: Aug 2014
Location: Brindisi (Italy)
Age: 70
Posts: 8,248
Quote:
Originally Posted by Sinphaltimus View Post
I wish someone would do this for x86 as a competitor to AROS since AROS is such a pain with hardware that it's hardly worth fishing for appropriate gear anymore. In that regard I have one more desktop PC to try IcAros on in the coming weeks, if that fails, I'll be done trying it for good unless some huge breakthru happens with the drivers..
To use IcarOS to the best you must have a PC with compatible hardware, HERE find the database of all Hardware compatibility, between the one arrives also the new AspireOS (another beautiful distro AROS)

Sorry OT

bloodline beautiful project
AMIGASYSTEM is offline  
Old 10 February 2018, 12:22   #30
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by AMIGASYSTEM View Post
To use IcarOS to the best you must have a PC with compatible hardware, HERE find the database of all Hardware compatibility, between the one arrives also the new AspireOS (another beautiful distro AROS)

Sorry OT

bloodline beautiful project
No problem about being off topic, I've been involved with AROS since 1999 I think there are still some commits by me in the code base.

On Topic: Can the blitter access address that are not word aligned? The C and D channels seem regularly loaded with odd addresses by the kickstart... Which doesn't seem right to me (I'm currently ignoring the least significant bit).

Last edited by bloodline; 10 February 2018 at 14:09.
bloodline is offline  
Old 11 February 2018, 12:02   #31
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
I appear to have a working line mode implementation now. I'm guessing the missing vertical and horizontal areas are to be filled by the area copy mode.

But my area copy mode is totally broken... I assumed that area mode would be the easy part... time for (another) rewrite.
Attached Thumbnails
Click image for larger version

Name:	bootscreen10.png
Views:	383
Size:	32.2 KB
ID:	56748  
bloodline is offline  
Old 11 February 2018, 13:59   #32
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Area mode rewrite... almost there?!
Attached Thumbnails
Click image for larger version

Name:	bootscreen11.png
Views:	449
Size:	32.7 KB
ID:	56750  
bloodline is offline  
Old 11 February 2018, 14:17   #33
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Something still not right... but this is enough for today

-Edit-
The attached executable, is compiled for MacOS Sierra, and requires libSDL 2.0+ installed.

Run from command line:

zorro <path to rom image>

It will spew out quite a bit of debugging info... enjoy.
Attached Thumbnails
Click image for larger version

Name:	bootscreen12.png
Views:	566
Size:	33.4 KB
ID:	56752  

Last edited by bloodline; 01 March 2018 at 15:52.
bloodline is offline  
Old 11 February 2018, 14:31   #34
wodan
Registered User
 
Join Date: Feb 2018
Location: Kidderminster
Posts: 16
Could be an off by one error (as in one word to the side), looks like you're close!
wodan is offline  
Old 11 February 2018, 14:38   #35
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by wodan View Post
Could be an off by one error (as in one word to the side), looks like you're close!
Yup, I know the problem is with the shifting section, as it gets to this point when disabled and I only get corruption when it's enabled, and it's clear the text is rendered one word off alignment. I'll fix it when I have a free moment tomorrow.

And I guess we can now officially say there are three Amiga emulators, UAE, Fellow and "Zorro" though mine only boots KS1.2 (and also 1.3)... nothing more.

-Edit- it has been such good fun getting to this point, many thanks to all who have followed and made suggestions! I'm definitely going to try and get the floppy working... my guess here is where my total disregard for timings will make the project fall apart.

Last edited by bloodline; 11 February 2018 at 15:00.
bloodline is offline  
Old 11 February 2018, 19:48   #36
LaBodilsen
Registered User
 
Join Date: Dec 2017
Location: Denmark
Posts: 179
Quote:
Originally Posted by bloodline View Post
On Topic: Can the blitter access address that are not word aligned? The C and D channels seem regularly loaded with odd addresses by the kickstart... Which doesn't seem right to me (I'm currently ignoring the least significant bit).
You would be right to do that.

From this: http://amigadev.elowar.com/read/ADCD.../node012D.html
Quote:
* Modulos and pointers are in bytes; width is in words and height is in
pixels. The least significant bit of all pointers and modulos is
ignored
.
Nice progress, and it's nice with all the updates. keep it up.
LaBodilsen is offline  
Old 11 February 2018, 22:06   #37
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,856
Quote:
Originally Posted by bloodline View Post
[...] And I guess we can now officially say there are three Amiga emulators, UAE, Fellow and "Zorro" though mine only boots KS1.2 (and also 1.3)... nothing more.[...]
Wonderful !

Quote:
Originally Posted by bloodline View Post
[...]-Edit- it has been such good fun getting to this point, many thanks to all who have followed and made suggestions! I'm definitely going to try and get the floppy working... my guess here is where my total disregard for timings will make the project fall apart.
No stress .
malko is offline  
Old 11 February 2018, 22:11   #38
rare_j
Zone Friend
 
rare_j's Avatar
 
Join Date: Apr 2005
Location: London
Posts: 1,176
I haven't made suggestions but I have followed. I hope you continue to build on this as long as you're having fun
rare_j is offline  
Old 12 February 2018, 07:30   #39
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by LaBodilsen View Post
You would be right to do that.

From this: http://amigadev.elowar.com/read/ADCD.../node012D.html

Nice progress, and it's nice with all the updates. keep it up.
I hope people aren't getting a bit fed up with all my failures!

I found the Abacus book "Amiga Intern" (as suggested by user ASM68 in another thread) and this page here http://www.winnicki.net/amiga/memmap/LineMode.html really helpful to debug the blitter.

The thing which really threw me off with the Line Mode, was why all the values were multiplied by 2... but then it dawned on me that the bltxmod and bltxpt registers probabaly don't have the least significant bit connected, so the values are just left shifted to fit! Once I figured that out (took 9 days), the implementation was quite easy.

I was able to fix the shifting section and now we have what appears to be a fully working boot of KS1.2!
Attached Thumbnails
Click image for larger version

Name:	bootscreen13.png
Views:	460
Size:	33.3 KB
ID:	56773  

Last edited by bloodline; 01 March 2018 at 15:53.
bloodline is offline  
Old 12 February 2018, 07:40   #40
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by rare_j View Post
I haven't made suggestions but I have followed. I hope you continue to build on this as long as you're having fun
This has been a lot of fun (I can't wait to clean up the sources and publish them), I will now see just how far I get with floppy emulation, and then I'll need to add hires mode... this is addictive
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 18:56.

Top

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