Getting screen base address ?
Moderator: troed
Getting screen base address ?
What's the best way to get the screen base address of the physical screen ?
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
Re: Getting screen base address ?
1) XBIOS function Physbase:
http://toshyp.atari.org/en/Screen_funct ... l#Physbase
2) TOS variable _v_bas_ad:
$00044E|long |Pointer to video RAM (logical screen base) |_v_bas_ad
3) SHIFTER registers:
$FF8201|byte |Video screen memory position (High byte) |R/W
$FF8203|byte |Video screen memory position (Mid byte) |R/W
$FF820D|byte |Video screen memory position (Low byte) |R/W (STe)
http://toshyp.atari.org/en/Screen_funct ... l#Physbase
2) TOS variable _v_bas_ad:
$00044E|long |Pointer to video RAM (logical screen base) |_v_bas_ad
3) SHIFTER registers:
$FF8201|byte |Video screen memory position (High byte) |R/W
$FF8203|byte |Video screen memory position (Mid byte) |R/W
$FF820D|byte |Video screen memory position (Low byte) |R/W (STe)
Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
- thorsten.otto
- Posts: 148
- Joined: Mon Nov 04, 2019 2:20 am
Re: Getting screen base address ?
_v_bas_ad is the *logical* address, the same that you get by calling Logbase(). It's the one that is used by all VDI drawing operations, as well as by Line-A.
I would prefer using Physbase(), unless you are really short on cycles. Using the hardware addresses may not work with graphics cards (well, directly writing to that memory may not work, either)
I would prefer using Physbase(), unless you are really short on cycles. Using the hardware addresses may not work with graphics cards (well, directly writing to that memory may not work, either)
Re: Getting screen base address ?
Assuming by what you've shown in the other thread: if you do a GEM application, there is probably no reason to deal with the screen address at all.
What do you need it for?
What do you need it for?
And remember: Beethoven wrote his first symphony in C.
Re: Getting screen base address ?
cannot remember why I needed it, but I know I just used logbase to get it.
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.