English Amiga Board


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

 
 
Thread Tools
Old 15 July 2015, 08:12   #21
utri007
mä vaan
 
Join Date: Nov 2001
Location: Finland
Posts: 1,655
Long time ago I changed some mails with original author. I think that his original plan was make a monitor driver for FBlit. That would make a configuration and testing easier.
utri007 is offline  
Old 05 August 2015, 19:23   #22
Yulquen74
Registered User
 
Join Date: May 2013
Location: Kleppe / Norway
Posts: 256
would it be difficult to generate a 68000 compatible version of fblit?
Yulquen74 is offline  
Old 06 August 2015, 03:51   #23
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
Quote:
Originally Posted by Yulquen74 View Post
would it be difficult to generate a 68000 compatible version of fblit?
Yes. But even if it weren't, it would be slower than the blitter.
Samurai_Crow is offline  
Old 06 August 2015, 09:57   #24
Yulquen74
Registered User
 
Join Date: May 2013
Location: Kleppe / Norway
Posts: 256
Quote:
Originally Posted by Samurai_Crow View Post
Yes. But even if it weren't, it would be slower than the blitter.

Ok, I suspected that.
I did not have stock speed in mind when asking, but rather 68000 systems
clocked at 28-50MHz.
Yulquen74 is offline  
Old 06 August 2015, 11:09   #25
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
Quote:
Originally Posted by Yulquen74 View Post
Ok, I suspected that.
I did not have stock speed in mind when asking, but rather 68000 systems
clocked at 28-50MHz.
I think the main limit would be the speed at which you can write back to chipmem on OCS systems.

Even with a fast 68000, surely the fact the 68000 can't write back more than 16 bits to chipmemory per write access will give you a best case performance roughly equal to the blitter for simple copy actions?
roondar is offline  
Old 27 October 2015, 00:00   #26
Ratte
Registered User
 
Join Date: Sep 2008
Location: Germany
Posts: 331
Quote:
Originally Posted by PeterK View Post
Alright, if you know how to do it, then you should write such a monitor driver.
(Btw, the new icon.library is out now.)
It is easier to scan LOADVIEW and configure FBLIT related to the frontmost screenmode / monitorid.
Ratte is offline  
Old 01 November 2015, 03:21   #27
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,374
Just had a very short first look into the FBlit sources and found a small potential bug in FBltBitMap217.s

Code:
 ; BltBitMap()
 
SubMain: cnop 0,4
  btst  #ACTIVE,(l_Flags+3,pc)
  bne.s  NewMain    ;--> active...
  move.l  (l_OldBlit,pc),-(sp)
  rts
The CNOP 0,4 should be called above the label SubMain: !!
It's just good luck if CNOP generates real NOPs or the alignment fits anyway.

Last edited by PeterK; 01 November 2015 at 04:50.
PeterK is offline  
Old 01 November 2015, 11:43   #28
utri007
mä vaan
 
Join Date: Nov 2001
Location: Finland
Posts: 1,655
Quote:
Originally Posted by PeterK View Post
Just had a very short first look into the FBlit sources and found a small potential bug in FBltBitMap217.s

Code:
 ; BltBitMap()
 
SubMain: cnop 0,4
  btst  #ACTIVE,(l_Flags+3,pc)
  bne.s  NewMain    ;--> active...
  move.l  (l_OldBlit,pc),-(sp)
  rts
The CNOP 0,4 should be called above the label SubMain: !!
It's just good luck if CNOP generates real NOPs or the alignment fits anyway.
Thanks Peter! FBlit is very nice program, it makes many games with hires graphic playable. With 040/060 games like SimCity2000, Napalm etc has much faster Graphics.

It also makes OS to FLy and need for chip ram minimized. Wich enables to start games directly from workbench.

I really hope that somebody takes task.
utri007 is offline  
Old 02 November 2015, 10:32   #29
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
It is an easy fix. I just have to move the CNOP directive up a line or the label down one.

edit: DONE!

Last edited by Samurai_Crow; 02 November 2015 at 16:49.
Samurai_Crow is offline  
Old 01 December 2015, 15:03   #30
HanSolo
Registered User
 
Join Date: Aug 2014
Location: Gdynia/Poland
Posts: 162
Where I can download fixed version ? (executable ready to install)
HanSolo is offline  
Old 01 December 2015, 15:08   #31
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,374
Nowhere !!

It's most likely only a bug in the source code. I guess, the FBlit executable is not broken. So, no need to download anything.

But the source code had to be fixed, because in case of a change in the alignment of the label SubMain, it could result in a zero padding for the CNOP instruction, and that would cause crashes then.

Last edited by PeterK; 01 December 2015 at 15:15.
PeterK is offline  
Old 23 February 2018, 11:30   #32
Seboss
Registered User
 
Join Date: Feb 2018
Location: Grenoble / France
Posts: 14
Long time user of the Amiga, but I only recently started to take an in-depth look to the hardware and software. So I still have a pretty bad intuition about performance of the CPU vs blitter. How fast must the CPU be to beat the blitter at its own game using fblit?
Seboss is offline  
Old 23 February 2018, 12:36   #33
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
Quote:
Originally Posted by Seboss View Post
Long time user of the Amiga, but I only recently started to take an in-depth look to the hardware and software. So I still have a pretty bad intuition about performance of the CPU vs blitter. How fast must the CPU be to beat the blitter at its own game using fblit?
An 040 can beat it. 030 ties it. The main 2 advantages are that the transparent blits are suboptimal on the blitter but the CPU can re-use the mask and the blitter is only 3.5 MHz.
Samurai_Crow is offline  
Old 10 March 2018, 16:26   #34
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Quote:
Originally Posted by Samurai_Crow View Post
An 040 can beat it. 030 ties it. The main 2 advantages are that the transparent blits are suboptimal on the blitter but the CPU can re-use the mask and the blitter is only 3.5 MHz.
Well... you wouldn't say that the CPU runs at 3.5 MHz. It takes 4 cycles for the CPU to write a word to RAM just as it does the Blitter.

All the chips including the CPU run at 7MHz, so it would be strange to single out the Blitter and call it a 3.5MHz co-processor

Its speed will "feel" like a 7-14MHz CPU - without the instruction overhead.

Performance in real applications will be be tempered in both cases by the bitplane depth and resolution to make the speed feel: like this, slower, much slower, or really, really slow (in the case of 640x256x16 on OCS).

For Workbench use on OCS, the sweet spot is the default one chosen for AmigaOS: 4 colors. Above that and it will feel slower regardless of the Blitter/CPU workload distribution.
Photon is offline  
Old 10 March 2018, 16:43   #35
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
Quote:
Originally Posted by Photon View Post
Well... you wouldn't say that the CPU runs at 3.5 MHz. It takes 4 cycles for the CPU to write a word to RAM just as it does the Blitter.

All the chips including the CPU run at 7MHz, so it would be strange to single out the Blitter and call it a 3.5MHz co-processor

Its speed will "feel" like a 7-14MHz CPU - without the instruction overhead.

Performance in real applications will be be tempered in both cases by the bitplane depth and resolution to make the speed feel: like this, slower, much slower, or really, really slow (in the case of 640x256x16 on OCS).

For Workbench use on OCS, the sweet spot is the default one chosen for AmigaOS: 4 colors. Above that and it will feel slower regardless of the Blitter/CPU workload distribution.
An 020+ has code caches so there is not much instruction overhead there either. An 020 is typically 50% faster as a result.
Samurai_Crow is offline  
Old 10 March 2018, 17:32   #36
coder76
Registered User
 
Join Date: Dec 2016
Location: Finland
Posts: 168
Can Fblit use CPU and blitter at same time for same tasks? on AGA machines with fastram, there is certainly enough bandwidth for CPU and blitter to work in parallell into chip ram. With 32-bit memory accesses for everything the bandwidth is 14 MB/sec to chip ram, but as you know blitter has only 16-bit access, bitplanes can be 64-bit (in 4X mode), and CPU has 32-bit memory accesses for 68020+. This means that CPU+blitter bandwidth can maximally be around 10 MB/sec into chip ram, which is quite an improvement over only blitter (around 3,3 MB/sec), or CPU only (7 MB/sec).
coder76 is offline  
Old 10 March 2018, 17:54   #37
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
No. GameSmith does though.

Remember, FBlit stores graphics in Fast RAM that the real blitter can't touch.
Samurai_Crow is offline  
Old 10 March 2018, 17:58   #38
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,374
@coder76
Usually FBlit uses graphical objects in FastMem and the blitter is restricted to ChipMem. You have to make a global decision where you want to store your images. Using FBlit has no advantages if your images are located in ChipMem. And FBlit can not split a call like BltBitMapRastport() into two parts. How should that go? Or should it play "one (call) for me, one for you"?
PeterK is offline  
Old 10 March 2018, 18:02   #39
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
Quote:
Originally Posted by PeterK View Post
@coder76
Usually FBlit uses graphical objects in FastMem and the blitter is restricted to ChipMem. You have to make a global decision where you want to store your images. Using FBlit has no advantages if your images are located in ChipMem. And FBlit can not split a call like BltBitMapRastport() into two parts. How should that go? Or should it play "one (call) for me, one for you"?
GameSmith processes blit nodes with the CPU while waiting for the video blank interrupt to run. That's just how it's done.
Samurai_Crow is offline  
Old 10 March 2018, 18:12   #40
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,374
Ok, a particular task (game) can use the blitter directly and not through system calls like BltBitMapRastport(). That way, it can make a decision on every graphical object, whether to use FBlit or the blitter. FBlit may also be used directly, through fblit.library calls, I don't know.

Last edited by PeterK; 10 March 2018 at 18:18.
PeterK 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
Open-source scsi device Don_Adan Coders. System 92 05 January 2024 01:48
Please open source all the things wXR Amiga scene 382 21 April 2020 17:21
Open source CLI commands Mrs Beanbag Coders. System 13 10 December 2016 09:50
NewsRog goes Open Source Paul News 0 04 December 2004 16:37
BlitzBasic - Is now open source Djay Amiga scene 2 08 February 2003 01:09

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 09:22.

Top

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