Mark2008 Posted January 12, 2023 Author Share Posted January 12, 2023 Given there is going to be a new thread on VBXE, I feel like this one can now devolve into a little fun. This is a game I call, guess what this guy is smoking. What I did here is I decided to google on Call of Duty to examine the text of the Call of Duty screen. Since I only rarely play video games, I assume this is an early screen in an early version....but it will suffice. I will state for the sake of argument, that compared to the Atari, the modern PC has somewhat unlimited resources for graphics. The budget for making Call of Duty, probably few restrictions there. What I wanted to do, is say - if no restrictions of any kind - no technological, budget or otherwise, what would the game designer choose for the number of characters to use on a line? Just pure preference based on the desire of the artist - no other restrictions. Now, I could even go down to the Copyright notice on the bottom, but that is meant to be hidden - so "Press X to Start" is what I examined - meant to be read. 16 characters long, you can fit about 7 of them on a screen. 7 x 16= 112. So with no particular hardware concerns, on a wide aspect screen they went with 112 characters per line. But, if I were to go into an examination of Atari games, where I know they had an 80 column ability - I find for the most part they use 40 characters, not 80. And indeed on all my half finished projects I used 40 characters not 80. Why did I do that? Habit, for one. It was easier - number two. Default - didnt' think about it. The game is important not the text. The reason for differing choices - accessability, ease of use, familiarity, antipathy toward 80 columns...all factor in. But aesthetics - that favors the 80 column choice, not the 40. Obviously I think Stephens work is going to be very helpful for VBXE adoption. I also think the more libraries the better - For those that code in cc65,kickC,PL65,fast basic, etc. Now the answer, i wasn't smoking anything - I wish I had an excuse. ok, I've kind of trailed off on my new game, maybe I hit it hard this weekend. It's definitely going to support 80 columns after this rant. Quote Link to comment Share on other sites More sharing options...
Yaron Nir Posted January 12, 2023 Share Posted January 12, 2023 9 hours ago, Stephen said: @Yaron Nir - I will do my best to get this typed up tonight. Thanks @Stephen, once new thread is up and running, please tag it here so we can move to the new thread Quote Link to comment Share on other sites More sharing options...
Yaron Nir Posted January 12, 2023 Share Posted January 12, 2023 10 hours ago, Mark2008 said: @Yaron Nir edit: nevermind....skip to the end....lol I personally don't know MADS Assembler, but the S2 driver can set to low res with 192 lines and Altirra will reveal the XDL. And I would follow that path, to get a working example of a 192 line lowres screen. And I'll just type this out for others that may find the thread. in the Mad Pascal download: Mad-Pascal-1.6.6\samples\a8\graph_vbxe_s2\doc Documentation for the VBXE "S:" display driver 2: pixel mode 160x192/256 colors (lowres). This is like GR.15 in 256 colors. So, in basic Line 10 in the first post of this thread I used "3" for stdres. But change it to "2" for lowres. You have to have S_VBXE.SYS already loaded and then: 10 OPEN #6,12,2,"S2:" 20 COLOR 128:PLOT 30,30:DRAWTO 150,150 30 GOTO 30 Now, you can go into Altirra and dump out the XDL created. Once you have the program running go to the Altirra debugger Debug->Enable Debugger Then I hit Step Into once, otherwise I cannot type into the console. .help to show commands .vbxe_xdl to show the xdl That's the XDL I would use for lowres. I did a similar strategy to get stdres when I did the runway game. edit; oh nevermind, i probably need to read the thread first, so many cool post, I just haven' thad a chance to read them. lol @Mark2008 thanks for the kind explanation and demo. unfortunately, using the driver S2 AS-IS is not something i desire. i want to be able to program XDL myself (doesn't matter in what language, even though i am programing in MADs assembly). That debugger output in altirra could be a good start, but i need to understand what each line mean and how to set it. for example, where does the address 7E130 is coming from? how do i set it? how do i enable the XDL? the repeat is 24, so it means 24 scanlines or 3 scanmodes (24/8) ? what does that $00000 , $0A0 mean? ok i think you get the idea. hopefully in the thread Stephen will create we will be able to drill down line by line understand what the value mean and how to use them. it will help set up as dynamic VBXE screen as possible and will open many games/demos oppertunities 7E130: 74 0F ; mode off ; map_off 17 ; repeat 24 00 00 00 A0 00 ; load_ovl $00000, $0A0 F8 ; load_chbase $7C000 00 00 00 28 00 ; load_map $00000, $028 00 00 07 07 ; map_attr 0, 0, 8x8 11 80 ; ovatt ovwidth=normal, ovpal=1, pfpal=0, pri=$807E144: 22 A0 ; mode lr BF ; repeat 192; end 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted January 12, 2023 Share Posted January 12, 2023 13 hours ago, Yaron Nir said: Thanks @Stephen, once new thread is up and running, please tag it here so we can move to the new thread I will begin working on this after dinner - until then, here is the XDL Tutorial I have started for my overall XDL tutorial. @Yaron Nir, I will also work on answering your questions from above. I plan on structuring the info on the new thread better than here: A simple overview of how I tend to layout VBXE RAM, with a discussion of how to read/write to the VBXE RAM How to setup the VBXE to use the XDL An overview of the XDL and its various features Sample XDLs Text Mode (80X25 using a single palette) Graphics Mode 160*240 using a single palette, no provisions for scrolling (i.e., 160 byte per line) 320*240 with a split, demonstrating how to use 2 palettes Mixed Mode (Text and Graphics) Skeleton code for a simple "Hello World" will eventually be provided I have some placeholders there which I can edit to keep the content contiguous. Please don't post there until I get the basic content structure in place. The content will end up being quite verbose so that's why I want separate posts 2 Quote Link to comment Share on other sites More sharing options...
Yaron Nir Posted January 13, 2023 Share Posted January 13, 2023 2 hours ago, Stephen said: I will begin working on this after dinner - until then, here is the XDL Tutorial I have started for my overall XDL tutorial. @Yaron Nir, I will also work on answering your questions from above. I plan on structuring the info on the new thread better than here: A simple overview of how I tend to layout VBXE RAM, with a discussion of how to read/write to the VBXE RAM How to setup the VBXE to use the XDL An overview of the XDL and its various features Sample XDLs Text Mode (80X25 using a single palette) Graphics Mode 160*240 using a single palette, no provisions for scrolling (i.e., 160 byte per line) 320*240 with a split, demonstrating how to use 2 palettes Mixed Mode (Text and Graphics) Skeleton code for a simple "Hello World" will eventually be provided I have some placeholders there which I can edit to keep the content contiguous. Please don't post there until I get the basic content structure in place. The content will end up being quite verbose so that's why I want separate posts no problem i will wait till you finish your posts and when you're done i will post questions/comment many thanks for this @Stephen 1 1 Quote Link to comment Share on other sites More sharing options...
Yaron Nir Posted January 13, 2023 Share Posted January 13, 2023 it never hurts to take an A8 topic and break it into smaller pieces and understand what each piece means and how to work with it. I'm glad we chose the VBXE as our topic for discussion. i hope it will give to other A8 coders a drive to develop nice A8 games using the VBXE capabilities 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.