Jump to content
IGNORED

VBXE 2


candle

Recommended Posts

Can I just say how amazing it is to see stuff like this on my old trusty Atari, I'm from the days of the 8bit, I had the joys of going to Silica and seeing the new releases that blew me away and then when I was in the industry myself it was just so much of a rush to see things like Way Out, Spelunker, Bruce lee as they were being released for the first time.

 

Had the games looked like what I'm seeing on this thread I'd have thought I had died and gone to heaven..

 

Brilliant work, I hope it gets the support it deserves and pays a few bills as well!

Edited by Mclaneinc
Link to comment
Share on other sites

Well, the mode simply has twice as much pixels per line as the "standard res" mode (i.e. std res = 256/320/336 pixels per line, hires = 512/640/672 ppl), and 16 colors (out of 2 mln) instead of 256. The number of scanlines remain the same, as it is the old GTIA that generates the sync signals. Works nice, but I have no examples - although I of course could draw something in TBXL using my "S2:" driver, and then dump it into a BMP file.

 

The 80-column text mode is very nice too.

Real shame we can't have double vertical resoltion, too. I suppose Hi-res is more or less equivalent to the ST's medium res, but with 4 bits per pixel instead of two. Still, even with 200 lines and 640 pixels accross (and appropriate aspect ratio management), it should be possible to make some really nice-looking proportional fonts.

Link to comment
Share on other sites

Vertical resolution doubling might yet be possible.

 

I don't have a VBXE board, so I've had to send some Interlace code to candle to play about with.

 

Of course, it's not the preferred method these days to do hires, but I don't think the developers could have included a hires 31 KHz progressive mode.

Link to comment
Share on other sites

how do i have to setup the blitter to "fill" areas?

 

and is it right that next flag in the bcb 19th byte is x08 for fetching next blitter command block?

 

(yeah... I know... it is written in the manual but I my 2nd blitter test does not paint any stuff on screen... ;))

Link to comment
Share on other sites

to pait with solid color? or pattern?

 

for solid:

 

source address is not important

width and height of source are not important

blittern and mask must be equal to 0

blitter xor mask is your fill color number

 

next flag is ineed 0x08, but it has to be set in CURRENTLY processed bcb, so, if you have 2 bcbs in blitter list, first one (the one you're writting its address to blitter hardware registers) has to have the next flag set, and the next one has to have it cleared

 

for patter, conslut manual :) sorry, never did that

Link to comment
Share on other sites

aaaaah... that sounds interesting... i thought the blitter stuff is like on playstation and other GPUs...

 

so... i had BCBs with 19th byte set to 8 and last blitter block was set to 0... need to double check the manual but it was not 100% clear.

 

look:

 

The Blitter built into the VBXE core allows to copy and fill VRAM areas of any size.

The Blitter is controlled by the BlitterList – a sequence of data loaded into the VRAM by

the Atari CPU. The general structure of the BlitterList looks as follows:

BCB

BCB

BCB

...

BCB with NEXT-marker cleared

 

 

NEXT – if this bit is cleared (0), then te current BCB is the last BCB in the BlitterList, and

after its execution the Blitter will end processing, clear the BUSY flag in the

BLITTER_BUSY register, and triggering an IRQ, if it was allowed in the IRQ_CONTROL

register. If the NEXT bit is set (1), then after finishing with the current BCB, the Blitter will

behave as follows:

- clear the BUSY flag in the BLITTER_BUSY register

- at the same time it will set the BCB_LOAD flag in the same register

- fetch the next BCB

- set the BUSY flag in the BLITTER_BUSY register

- perform the next BCB

- after that, clear the BUSY flag

- check the NEXT bit

- etc. (the end or a next BCB)

Edited by Heaven/TQA
Link to comment
Share on other sites

i ment the primitive list of the psx (psone) not psp...

 

BLT_copy:
dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x00,0x70,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x20,0x70,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x40,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x60,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x80,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xa0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xc0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xe0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x00,0x61,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + end block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x20,0x61,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x00	; control mode 0 + end block
BLT_lenght	equ	*-BLT_copy
BLT_copy:
dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x00,0x70,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x20,0x70,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x40,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x60,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x80,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xa0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xc0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0xe0,0x60,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + next block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x00,0x61,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x08	; control mode 0 + end block

dta 0x00,0x00,0x00; source address
dta <320,>320	; source step
dta 0x20,0x61,0x00; destination address
dta <320,>320	; destination step
dta 0x20,0x00; width
dta 0x1f	; height
dta 0x00	; and mask
dta 0xff	; xor mask
dta 0x00	; collision and mask
dta 0x00	; zoom
dta 0x00	; patter feature
dta 0x00	; control mode 0 + end block
BLT_lenght	equ	*-BLT_copy

post-528-1241897907_thumb.jpg

Edited by Heaven/TQA
Link to comment
Share on other sites

Today i've received NTSC version of Atari 800XL - this is the worst case (at least for my point of view) - machine is freddy-less, only one crystal is present on the board, and this is probably not 14.318MHz, so everything will have to be provided off-board...

in the meanwhile vbxe-2 board finally is going into prototyping stage (to PCB house, and yes - i have huge delay)

 

i never understood the love for XL series, now i have to admit it has really nice keyboard, then again - its ugly!

Link to comment
Share on other sites

my point is in design as such :) it fits nicely with Atari 1050, or 1010, but i would rather have 130XE, XC11, and XF disk drive

XE gray colour scheme way more appealig (hope that is aproperiate word for this) for me, than beige and brown of XL series

Link to comment
Share on other sites

my point is in design as such :) it fits nicely with Atari 1050, or 1010, but i would rather have 130XE, XC11, and XF disk drive

XE gray colour scheme way more appealig (hope that is aproperiate word for this) for me, than beige and brown of XL series

Not to break off from the subject of the thread but just to add ..I prefer the XE and XF design too personally although I don't dislike the XL range by any means. Build quality aside, the vast majority it seems prefer the XL's design.

 

I'm looking forward to installing the VBXE2 when it's available.

Link to comment
Share on other sites

i did a little lame slideshow for vbxe, it lacs almost everything that slideshow should have, but...

 

here it is

 

boot from d1, and load slide.com

 

maybe someone who already got vbxe make a movie from it?

 

users not having vbxe won't see a thing :(

 

amazing!!! simply amazing stills for an a8!!! i'm just curious as to how the .dap files are constructed and what vbxe dlist...

Link to comment
Share on other sites

Hmmm... I can't seem to get it working properly... any .bmp I've tried to convert using bmp2dap (after assembling the utility, of course) just comes out as scrambled on the screen...

 

Is there any particular color depth and resolution the bitmaps need to be at before converting?

Link to comment
Share on other sites

i assume 320x240x256 bmp?

 

it amazes me sometimes how i can overlook details such as this... i will be modifying the slide.com file a bit to suit my purposes; such as a full 16mb VBXE slideshow with controls... black is obviously the transparency color, so a quick STA to 710 should fix the display a bit... a nudie slide show is on the agenda tomorrow... lol...

Edited by dwhyte
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...