[hatari-devel] Extended video mode

Pär Moberg ghst at ghstwlf.com
Wed Mar 10 16:18:04 CET 2010


Is the Atari aware of the h/vsync of the shifter? If it is my project 
got a lot more complicated.
Also is there a maximum resolution limit in the TOS?
//Pär

Eero Tamminen wrote:
> Hi,
> 
> On Tuesday 09 March 2010, ghst at ghstwlf.com wrote:
>> I am looking in to extending the resolution of my atari st to someting
>> like, 1280x1024 or even bigger. I want to do this by a small mod to the
>> cardrige port by adding WE in some way. Now I am curios how Hatari does
>> its extended grafics mode. I have tried to read the code but I can't make
>> any sens of it. Please tell me. //Pär
> 
> I took a quick look at it.
> 
> Hatari's own cartridge code adds CPU opcode that goes into VDI code.
> 
> The CPU startup code (in hatari-glue.c) sets the LineA variables according
> to the VDI resolution.
> 
> newcpu.c has following code:
>     /* Intercept VDI exception (Trap #2 with D0 = 0x73) */
>     if (ExceptionSource == M68000_EXC_SRC_CPU)
>       {
>         if(bUseVDIRes && nr == 0x22 && regs.regs[0] == 0x73)
>         {
>           if(!VDI())
>           {
>             /* Set 'PC' as address of 'VDI_OPCODE' illegal instruction
>              * This will call OpCode_VDI after completion of Trap call!
>              * Use to modify return structure from VDI */
>             VDI_OldPC = currpc;
>             currpc = CART_VDI_OPCODE_ADDR;
>           }
>         }
> 
> OpCode_VDI() function in vdi.c modifies VDI variables according to set VDI
> resolution when the VDI call completes.
> 
> video.c has checks to skip lot of stuff when VDI mode is used and screen.c
> just blits the Atari screen memory to the Hatari window.
> 
> 
> 	- Eero



More information about the hatari-devel mailing list