Jump to content
IGNORED

G2F, Character sets, Re:My Casltevania attempt


zenassem

Recommended Posts

???? I don't know, there should be a file called "main.asx" included with all the files. Which file did you download??

 

Ok I have it. I extracted the folder to my desktop, and because I didn't have an assocition for .asx files, Windows associated with Windows Media Player and gave it an icon. Probably because it's close to .asf. I didn't see it and thought it was some movie clip I must have downloaded :D

 

I have code genie, so I should set that file extension to be associated with it.

 

"This was another Episiode of Zenassem's embarassing moments" Tune in next time to see what other blunders Zen will make! :lol:

 

~Not quite Zenning today

Link to comment
Share on other sites

zenassem

Setup the screen Using 2 Players the entire height of the screen at either side to hide my on screen blitting area.

 

Ignore that and the other refernece to the vertical player. I must not be well today.

 

I don't need to do this. I just need to set SDMCTL 22F.

 

So I still have all four players.

 

~zen

Link to comment
Share on other sites

zena...

 

one mirracle solved... when pressing in G2F the "SAVE" button all components are saved in a separate file and not in g2f...so the fonts are saved into FNT file f.e. and the screen layout in SCR....

 

now you can easily include your font... so happened to the boinxx logo and the boinxx demo tile set...

 

the only iissue is that the files are not saved in RAW mode but with binary Dos headers... (that's the reason why you can enter adresses in g2f for each component...)

 

so... if you are saving a pic with only one font your file size should be 1024 bytes + 6 = 1030....

 

you can double check that with the x-asm tool "Xhead"...

 

in xasm you then can load & include the data files with

 

.include "filename",6

(not sure if it was ".include" or ".ins" command... ;) sorry for that)

 

the ,6 tells xasm to leave out the 1st 6 bytes of the file... (which would be the header...)

 

later today i'll post you the boinxx logo g2f file and how i have included that in xasm... now i have to go to work...

Link to comment
Share on other sites

Hi Zen,

 

Dracon,

know you were working on this at one time. I think more people would use it, if they could read the details.  

sure.

 

Thanks for the clear list of questions and suggestions. I'll try to post them to the author today or tomorrow. :)

It's superb that you woke up in the N.Y.C. and started again to do something cool for the Atari 8-bit! 8)

 

==========

b) As far As I understand: G2F is great when needing to draw elaborate pictures. (simply stated) It breaks down the picture into modified character sets and has a lot of advanced features for extendeing color through P/M underlays as well as a host of other options including optimizing.

yeah.

 

I will need to create numerous screens from one characterset. Where as, I see G2F's strength is using numerous charactersets to create one screen.

sure, that's what charset gfx should be used for ('memory saving feature') :)

 

I'm not sure if I am making sense to you. And I could be just understanding G2F one way. Like I said it's quite possible that It can do the above as well.

it makes sense what you are writing and I think I understand you. Using G2F with all features it offers isn't fast and easiest process. You gotta learn it with time. :)

 

I'm not familiar yet with x-asm. I've been working with Mac/65. I know it shouldn't be a big difference, but for the ammount of information I've been taking in the last few weeks, it's another hurdle.

well, there are some differences in their format (MAC65 vs XASM) but if you would know what they are (f.e. DTA A (xxxx) against .DATA (xxxx) ) it is rather easy to catch. At least I think so. I'm not being professional Atari coder so I cannot provide the complete list of such differences... But there's X-ASM homepage with written docs, so maybe it will help you to figure out what you need???

 

I don't understand how I can access the charactersets from G2F.

1. draw/convert gfx

2. OPTIMIZE it

3. Go to Edit/Screen and click somewhere on the screen - you will see which charset you choose. So click on the button with, let's say "Charset #5" sign. Thus you can edit/load one single char in big window!! :)

 

Thanks for any help you can offer.  

And what will it take to have you finish the document translation  ;)

thanks for kind appereciaton of my work.

It would take quite much time to translate whole manual... You know, it's full of technical terms and I usually take care of readers (to make them understand what they read). As English is not my primary lanuguage, it's not that easy, anyway. ;) I will try to do something about the manual, anyway...

 

BTW, I found a translation service that estimated the cost of accurately translating the number of words at $300.00  :twisted:

you mean somebody wants to translate Polish-English for such amount of money ??? ;) :D

 

 

greetz and keep it up!! :)

 

P.S. Did you read this piece about using maps in G2F ??? ;)

Link to comment
Share on other sites

Hi Zenassem,

 

I really like your initiatives to rewrite a game like Castlevania, and would like to encourage you to finish the project, or at least make something playable.

 

But....as you stated earlier, to make the step from A (basic programming) to Z (mastering the atari) is not quite that easy. If you have lots of spare time, then that's an advantage but I must say that I've started coding back in 1992 (level A) and that's 12 years ago now, and now I finally could say that I'm very close to level Z.

 

Off course I did not always have internet and AtariAge, and I must admit that I learned the most from being on AtariAge participating in most of the development discussions.

 

But I think you should realize that this can be a project of long breath: It could literally take years before you're on a level on which you can solve the numerous problems you'll encounter in programming a game.

 

In this sense I'm happy to study some maths and physics, because it stimulates the power of abstract thinking which is harder needed in programming than you might think at first.

 

I don't worry about the graphics and leveldesign, because it's the easiest part. I think you should worry the most about what kind of (coding-) techniques you're going to use or develope, and what sacrifices you'll have to make. And then work your arse off to test all routines, over and over again, you'll need to write for f.e. softwaresprites.

 

Here's an example of a problem I've encountered in coding the MarioClone: The mario-sprite interacts with it's surroundings, f.e. it will immediately stop falling when it hits the ground, or it will stop walking when it hits a wall or something ---> I've used a physical model for the mario-mechanics (location, velocity, acceleration etc.) but you'll have to make some crazy formula which contains the previous AND present location, velocity, acceleration AND their directions. I must admit that I'm hurting my brain a lot working on this, because in a computer there is no physical reality --> your model obeys a different set of laws. I even think that I would never be able to write such routines without even a little bit understanding of mathematics.

 

You'll encounter a lot of these and similar problems before finishing the project.

 

....to conclude the story: I would like to encourage you the most to pick up coding very fast. I don't have much time myself, but don't worry to PM me with some conceptual coding problems if you're really really stuck. I would like to see this remake too. But I should warn everyone that tries to (re)make a game: it could take many years before you reach the end.

 

 

good luck ;)

Link to comment
Share on other sites

@analmux,

 

Let me first thank you for taking the time to offfer your advice, kwowledge, and help. It means a lot to me. Your time and knowledge is precious, and I wouldn't want to waste a minute of it.

 

This project is a tremendous undertaking for me. I am studying, reading, and experimenting, at an almost rediculous pace.

 

I have fairly strong background in programming and "game programming" for the PC platform. While I have worked with numerous languages, I am most proficient in C/C++. While I have studied the PC architecture and have worked with 8086 assembly language, I've only done screen mode changes and the most basic of displays in pure assembly. By the time i was comfortable enough with C++, most if not all gae programming was done through DirectX. While the games themselves were more ambitious and complicated, the actual neccessity to program at the video hardware level was null-and-void. Especially as the need for hardawre acelleration, and compatablilty with numerous video card architectures was rising.

 

Also by this time, for the type of games I was mainly interested in (mainly 2d, and scrollers) there wasn't much restriction on the use of memory, HD space, nevermind something as arbitrary as the number of colors available. While it's still not "easy" to code PC games, much of the low level details are transparent to the programmer (Unless of course you are a professional pushing the limits of todays hardware). But for the casual hobbyist, there is more than enough for everything I could want.

 

I began programming the Atari. Somewhere around 83-84. Mostly in basic and Using loaders to poke in machine language subroutines. Usually little tips I found in a Compute magazine, or book from the local library. I was young and happy doing the simplest of games. I didn't really understand what was going on at the harware level. Nor did I understand how to code a professional looking game. Pretty much any of the advanced techniques.

 

So now I'm coming back to the Atari, to truly understand how things really work. I have the coding skills (data strucures, algorithms, mathematics, theories). But, I am learning for the "First" time the Atari specific hardware, tools, memory locations, 6502 assembly. It's a tremendous amount to learn. I can't do the things that I can do with my eys closed on a PC. It's much more discplined, and getting simplest things to work like video dispalys, takes a lot more low level knowledge. I am enjoying it, and at the same time I am pushing myself at an accelerated pace.

 

I have had to completely change my way of thinking. I know I will stumble alot. But I am prepared for the long haul. I'm not sure how long it will take me to complete this project. While I work on it, I spend an equal ammount of time just learning simpler steps. Yesterday for instance, I spent four hours just picking apart and altering code that Gauntman was nice enough to provide me. I basically set up an antic mode 4 screen completely in assembly language. Experimented with Antic instuctions on various mode lines, and setup a few DLI's, plotted some text on the screen etc. Tonight I plan on loading in my modified character sets, and possibly some scrolling ideas.

 

So I am constantly working. I will see how far I get by the end of the weekend. From these experiments I may have some questions.

 

 

@Dracon & heaven/tqa

Thanks I will have a look tonight.

 

~zen

Link to comment
Share on other sites

I wrote a small conversion routine to extract NES graphics in an A8 usable format (see my avatar for an example). I'll dig it out tonight and upload it. That may make it slightly easier getting graphics from NES roms. However, as pointed out before, the 8*8 tiles used on the Nintendo require 2 (4*8) characters on the Atari.

Link to comment
Share on other sites

Here you go...

 

The 'characters.c' file was used to generate the A8 data statements for inclusion within an assembler file. You could rewrite it to output the bytes directly to another file if you like and use 'incbin', or some equivalent command, in your project to include the data.

 

Note that I included the raw data within the original C file, I think this was because the hex editor I was using let me copy to the clipboard as data statements. :idea: This could be better achieved by opening a file, moving to a specific offset and then reading a given length of data (plus closing the file). These details could be passed as arguments on the command line.

 

The 'chars.s' assembler file gives an example of this kind of output being used. In this case, letting the user see the graphics by selecting one of 4 screens using the joystick.

 

Note: this was built using the CC65 tools (CA65 to assemble and LD65 to link) and the linker was passed the 'generic.cfg' file to override the default Atari memory map.

 

If anyone fancies animating these little guys it shouldn't be too tricky.

The images in the original ROM provided 4 states per character. These are: down (1), up (1), left (1) and left(2). As the animation of walking in a direction only has two states, the missing images achieved in the NES via hardware flipping. So: down (2) = down (1) flipped horizontally, up (2) = up (1) flipped horizontally and right (1) and right (2) are flips of left (1&2). To perform the flipping on the A8, use the 256 byte lookup table provided in 'flip_table.s'.

 

Enjoy,

Mark

nes2a8.zip

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...