English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. AMOS

 
 
Thread Tools
Old 01 July 2020, 11:20   #1
Brick Nash
Prototron

Brick Nash's Avatar
 
Join Date: Mar 2015
Location: UK
Posts: 297
Fine scrolling glitching

EDIT: It turns out I didn't have Double Buffer activated on the screen so that's why. I was sure I did as well, but hey ho.


Hi all!

I'm trying to learn how to do map based fine scrolling by using TOME in AMOS right now, and I'm almost there, but when I scroll through my map the colours glitch really badly and it feels like it's struggling, as you can see from the video below (BTW the tiles and map are just random garbage for the moment and this isn't an actual game).

[ Show youtube player ]

I'm still very new to this, and I'm pretty sure I'm missing something out as I don't quite understand screen manipulation just yet, so any advice on the matter would be appreciated.

Thank you!

Here's what I'm doing code wise:

Code:
IX=0
IY=0
TILEMAPX=0
TILEMAPY=0
STX=0
STY=0
SCRLLSP=2

Screen Open 1,800,192,16,Lowres
Screen Hide 1
Tile Size 16,16
TX=0 : TY=0 : BX=800 : BY=192
Map View TX,TY To BX,BY
Load "Assets/icons.abk"
Reserve as Data 6,50*12+4
BLoad "Assets/garbage.map"
Map Do TILEMAPX,TILEMAPY
Get Icon Palette

Screen Open 2,320,192,16,Lowres
Flash off : Curs off
Screen Display 2,128,74,320,192

Do

Screen Copy 1,IX,0,IX+320,192 to Logic(2),STX,STY
Screen Swap 2 : Wait Vbl

if Jright(1)=-1 : Add IX,SCRLLSP : End If
if Jleft(1)=-1 and IX>0 : ADD IX,-SCRLLSP : End If

Loop

Last edited by Brick Nash; 02 July 2020 at 21:09.
Brick Nash is offline  
Old 12 July 2020, 18:35   #2
gyagyagyerek
DIY

gyagyagyerek's Avatar
 
Join Date: Sep 2018
Location: Budapest
Age: 43
Posts: 71
Advice

The glitch coused by the screen copy+single buffer, Use double buffer.
You do not have to screen copy all the frames... use HW scroll on the same screen, I think It will be faster


IX=0
IY=0
TILEMAPX=0
TILEMAPY=0
STX=0
STY=0
SCRLLSP=2

Screen Open 1,800,192,16,Lowres
Screen Display 1,128,74,320,192
Autoback 0
Double Buffer
Tile Size 16,16
TX=0 : TY=0 : BX=800 : BY=192
Map View TX,TY To BX,BY
Load "Assets/icons.abk"
Get Icon Palette
Reserve as Data 6,50*12+4
BLoad "Assets/garbage.map"
Map Do TILEMAPX,TILEMAPY
Screen Swap
Map Do TILEMAPX,TILEMAPY
Screen Swap



Do

Screen Offset 1,IX,IX
Screen Swap
Wait Vbl

if Jright(1)=-1 : Add IX,SCRLLSP : End If
if Jleft(1)=-1 and IX>0 : ADD IX,-SCRLLSP : End If

Loop

Last edited by gyagyagyerek; 12 July 2020 at 18:43.
gyagyagyerek 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
Query on interlace glitching Foebane support.WinUAE 7 15 November 2019 19:27
WinUAE Galaga 92 screen glitching WildW support.WinUAE 4 14 January 2017 00:43
Indivision ECS fine tuning mr.spiv support.Hardware 1 29 September 2014 23:48
70,000 credit fine?? Enverex support.Games 102 17 April 2004 23:35

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 08:06.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.06565 seconds with 15 queries