Jump to content
Sign in to follow this  
Gorf

Im making a 7800 charmap editor. I have 2 byte mode questions.

Recommended Posts

I wrote a quick Win Open GL app that will allow you to make a character map

set and it will output a text file you simply include.

 

In fact, it works such that you can replace the incbin charmode.dat file

in Bob's (PacManPlus's( thanks again Bob!)) sample code with the file

output from this app.

 

Im going to try to add more features like sprite editor and 320 modes

and such. Any other sprite or charmode stuff anyone else might like to

see? I plan to release this eventually.

 

If so, keep in mind you may have to explain how the 7800 uses what you

want so I can better utilize the feature to its fullest. Im still learning the

machine.

 

What exactly does two byte character mode do for us on the 7800?

 

I finally figured out how to make my own Character map and also

how to deal with strings. Is 2 byte character mode such that in 2bpp

mode it allows for 8 pixels horizontally instead of 4?

 

Also....

 

Can one mix Charmode graphics in 320 mode with sprites graphics

in 160 mode?

 

 

Thanks all,

Gorf

Edited by Gorf

Share this post


Link to post
Share on other sites

Here is a little looksee at the file output.

 

; 7800 160x2 Character Map Data



.org	$A000

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;
;							
CMODEGRAPHIC:			; THIS IS WHERE CHARACTER MODE GRAPHICS ARE HELD
;							
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00

.org	$A100

.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.byte	$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
...
...
...
... and so forth!

Share this post


Link to post
Share on other sites
I wrote a quick Win Open GL app that will allow you to make a character map

set and it will output a text file you simply include.

 

In fact, it works such that you can replace the incbin charmode.dat file

in Bob's (PacManPlus's( thanks again Bob!)) sample code with the file

output from this app.

 

Im going to try to add more features like sprite editor and 320 modes

and such. Any other sprite or charmode stuff anyone else might like to

see? I plan to release this eventually.

 

If so, keep in mind you may have to explain how the 7800 uses what you

want so I can better utilize the feature to its fullest. Im still learning the

machine.

 

What exactly does two byte character mode do for us on the 7800?

 

I finally figured out how to make my own Character map and also

how to deal with strings. Is 2 byte character mode such that in 2bpp

mode it allows for 8 pixels horizontally instead of 4?

 

Also....

 

Can one mix Charmode graphics in 320 mode with sprites graphics

in 160 mode?

 

 

Thanks all,

Gorf

woo hoo :)

 

Two byte character mode just means for instance if you use character code 1 for instance, code 2 will be automatically output after it. Cuts screen RAM usage down. And yes, it is very useful in the 12 color 160 mode so you kind of effectively have 4x8 characters (or whatever height) with 12 colors that consume the same space as a 4x8 3 color cell.

 

320 modes cannot be mixed with 160 modes on a scanline.

Also 160A can only be mixed with 160B, and 160C with 160D.

 

It might be useful still to be able to mix different modes within a character set.

Share this post


Link to post
Share on other sites
woo hoo :)

 

Two byte character mode just means for instance if you use character code 1 for instance, code 2 will be automatically output after it. Cuts screen RAM usage down. And yes, it is very useful in the 12 color 160 mode so you kind of effectively have 4x8 characters (or whatever height) with 12 colors that consume the same space as a 4x8 3 color cell.

 

320 modes cannot be mixed with 160 modes on a scanline.

Also 160A can only be mixed with 160B, and 160C with 160D.

 

It might be useful still to be able to mix different modes within a character set.

 

 

Yes thanks! I've figured a bunch of stuff out over the past few days as well as having help from PacManPlus.

 

Also, Im going to probably seperate the char editor from the sprite editor for allowing more overall flexability

for each specific task. I'm definitely looking into doing something with generating pallete register stuffing code

so when someone makes sprites or characters, they will (hopefully) be able so set up the 8 palletes using the

known 256 colors of the 2600 which is as far as I can tell the same as the 7800. If desired the app will output

piece of code that stuffs the color palette registers. First I have to get the apps palettes working. ;)

Share this post


Link to post
Share on other sites

Update:

 

 

I have the sprite editor working nicely now.

 

It now outputs a file with the data properly placed(org'ed).

It also allows you to label the sprites.

It also let's you name the colors in the palette slots.

It will output a text file of 'EQU''s of the colors used in the editor in the palettes.

It will output of code for the palette setup registers.

Allows all 256 7800 colors in any of the 8 palettes.

 

I made a file with Gorf sprites for example.

 

Here is a screen shot of the editor:

 

post-3357-1223211078_thumb.png

 

Here is a screen shot of 'Display mode' which displays all the sprites in the editor:

 

post-3357-1223211291_thumb.png

 

Here is the sprite data:(Image and data, CORYRIGHT 2008, 3DSSS, LLC, do not use!)

You can see the labels for each sprite in the first page of data.

 

Gorfmap.zip

 

Here is the palette EQU output:

Gorfpal.zip

 

 

Here is the palette init code output:

 

Gorfpalcode.zip

 

More work is needed....right now is is keybaord only...no mouse use.

I may post a demo later.

 

Gorf

Share this post


Link to post
Share on other sites

Thanks for sharing. I really ought to get off my tail and start learning 6502 assembler. I have an RPG that has been brewing in my brain for a while.

Share this post


Link to post
Share on other sites
Thanks for sharing. I really ought to get off my tail and start learning 6502 assembler. I have an RPG that has been brewing in my brain for a while.

 

 

Im building a library of code for folks as I am making this game.

There will be animation , score, joystick and sound code. Once the

game is finished, which will be quite a while as it shares a schedule

with other projects before it and little time to work on any of them.

 

Now that I have recieved my SkunkBoard, the Jaguar games will take

precendence with only the contract stuff ahead of it. I really would like

to see Tursi make more of these boards. They are quite a breath of fresh

air over the Alpine, not to mention so small it barely sits over the cart slot.

...and boy is it fast at uploading. I wish I had this when I was coding Gorf.

 

Tursi, sweet job indeed!

Share this post


Link to post
Share on other sites

Good to know that your Jag (the UFOish game!) projects are still the main priority after your job!, but it is also great to know that you are working on the 7800 wich i like a lot, we sure love those poor underused (hardwarewise) consoles!

Share this post


Link to post
Share on other sites
Good to know that your Jag (the UFOish game!) projects are still the main priority after your job!, but it is also great to know that you are working on the 7800 wich i like a lot, we sure love those poor underused (hardwarewise) consoles!

 

I cant stress enough that liek all other things this will take a while but...

 

I always liked the 7800. Im thankful to PacManPlus for that clear example.

It took me a few days but I have a much better understanding of the 7800.

Im sure there is a lot more to learn....like re-learning the 6502. Have not

touched that one in years. I am starting to remember why I loved it so much.

 

Amazing that little chip. I was so used to having the 32 x 2 banks of registers

in the Jaguar RISC's and was a bit thrown off at first only being allowed the use

three, but It makes you appreciate the flexibility of the 6502. Im also dabbling

with the Z80 coding a few Astrocade deals but those are lowest on the coding

priority list.

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...