Jump to content
IGNORED

Magellan


The Codex

Recommended Posts

Is it possible to bring in an image to use as a template? Either for the whole screen or in the character or sprite screens. Something like a jpg. i'm not the most artistic person, but I could usually color inside the lines. I'd like to bring in a graphic of a board game to help in laying out something on the TI. I've enjoyed seeing the progress of the Royal Game of Ur and I'd like to try my hand at a different game's board.

Link to comment
Share on other sites

Thanks! I appreciate the help. I've tried Convert9918 a little bit. Can you then bring that image into Magellan to modify it? Or is there a character or pixel editing feature in Convert9918? If I understand things correctly, a nice thing about Magellan is that the Map can be bigger than the screen and you can scroll in a program to "see" more of it. I think I've got several more questions forming in my mind, but they are going to have to wait until tomorrow.

Link to comment
Share on other sites

Thanks! I appreciate the help. I've tried Convert9918 a little bit. Can you then bring that image into Magellan to modify it? Or is there a character or pixel editing feature in Convert9918? If I understand things correctly, a nice thing about Magellan is that the Map can be bigger than the screen and you can scroll in a program to "see" more of it. I think I've got several more questions forming in my mind, but they are going to have to wait until tomorrow.

Indeed. The program was originally designed by Howard Kistler as a map editor.... which essentially allowed you to build large maps for games. The program for displaying those maps is up to youbut we can offer some help. The Missing Link by senior falcon had assembly support for scrolling a map under a window. Ive written an assembly scroller utilizing Magellans output files, as have many others, including Rasmus who is the current steward of Magellan and keeper of the sacred flame.

 

In BASIC, it can absolutely be done, but uncompiled BASIC code for scrolling graphics is inherently slow without some neat character redefinition tricks (see sometimes99ers demos for visuals).

 

There are nearly limitless possibilities for what you can do with Magellan, and deciding how and what you want to accomplish early on will help you define the path forward.

 

Definitely ask questions, as there are some brilliant programmers on here who can help you on your way. :)

Link to comment
Share on other sites

Magellan cannot import an image to use as a background template, so if you need this functionality you should start in a more generic graphics program. Once you have an image, preferably a png file, that looks closer to the end result you can import it into Magellan where you can clean up the patterns. Rather than working an a full board image it's probably better to divide it into smaller tiles that you can import separately.

Link to comment
Share on other sites

  • 7 months later...

I have always found it odd that you had to click, move and then click again to select an area for cloning. Perhaps I broke this functionality myself early on? Anyway, in this version I have changed it so it works like a normal drag'n'drop. Note that after copying an area, if you want to paste multiple copies, just hold down shift of ctrl.

Magellan_3_3_1.zip

Magellan_windows_3_3_1.zip

Magellan_windows-x64_3_3_1.zip

  • Like 13
Link to comment
Share on other sites

  • 3 months later...

I started working in Magellan for bitmap mode. Version 3.3 x64 made the Export Assembly dialog work for me. I could not get the dialog in 3.05, 3.1, etc.

 

 

The link on the Development Resources thread points back to the 3.05 version.

 

This is the most fun I've had in a great while. Tak for dit forbedring!

 

-Erik

Edited by FarmerPotato
Link to comment
Share on other sites

I have always found it odd that you had to click, move and then click again to select an area for cloning. Perhaps I broke this functionality myself early on? Anyway, in this version I have changed it so it works like a normal drag'n'drop. Note that after copying an area, if you want to paste multiple copies, just hold down shift of ctrl.

I just noticed this update to Magellan. Thanks Rasmus! This is a wonderful tool! Looking forward to the updates.

 

 

Sent from my iPhone using Tapatalk Pro

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

This is such an awesome tool. Between this, XB compiler and classic99 I can delude myself into thinking I can make a decent game. LOL

 

My first computer was the TI99/4A, it will always be my favorite.

My first gaming system was the Intellivision, it will always be my favorite gaming system.

 

I want to try INTYBasic, but it does not have Magellan or an equivalent product.

 

How difficult would it be to modify Magellan to output INTY Basic code? Intellivision is also an 8x8 tiles (cards) however it is 20x12 VS 32x24

Only 64 cards can be defined. However, they can be redefined during run time just like the TI.

 

Just dreaming I guess...

  • Like 3
Link to comment
Share on other sites

Between this, XB compiler and classic99 I can delude myself into thinking I can make a decent game. LOL

This is a good path to learning how to write an Assembly game as well. Using the compiler helps with workflow concepts when you move up to the Assembly challenge. It’s also a great way to practice with Magellan, and even learning about Classic99’s debugger, if you dare!

 

All of the above activity leads to improving your knowledge of the system hardware which is essential for Assembly.

 

My personal experience with Harry’s XB256 & the BASIC Compiler (two different things) was code running 20-25 times faster than standard XB. Check out: SCRAA.bin

 

So sure, you can write a “decent game.” My code ran fairly fast and I was able to exceed 24K slightly since the resulting object code turned binary was smaller in size. The original code wouldn’t load due to size limits yet SCRAA.bin was okay.

 

I believe I read the multiplier in speed for Assembly v TI BASIC was around 200X. At least TEN times faster than Compiled BASIC, and you get far more freedom to maximize the hardware.

 

So...it’s alright to be excited. You should be!

 

 

Sent from my iPhone using Tapatalk Pro

Link to comment
Share on other sites

I want to try INTYBasic, but it does not have Magellan or an equivalent product.

 

How difficult would it be to modify Magellan to output INTY Basic code? Intellivision is also an 8x8 tiles (cards) however it is 20x12 VS 32x24

Only 64 cards can be defined.

Just change the Width and Height of your Magellan map to 20x12 ... top right corner.

 

8bfa119f5d9dd214e6141409dd27c8e2.jpg

 

Hint: You can also create maps much larger than 32x24.

 

I’d guess you can just cut and paste your 64 character defs from Magellan output right into your editor for Inty BASIC. It appears what you need to do with Intellivision BASIC is already a subset of Magellan’s capabilities.

Edited by Airshack
Link to comment
Share on other sites

Yeah, I use Magellan quit a bit.

20x12 is one piece of the puzzle. But 12 tiles takes up the same room as 24. So I imagine, these pixels are twice as high as the TI as they take up the same real estate on the screen.

 

However, output from magellan gives us data statements and character definitions etc.

I have been tinkering with the TI since 1981-82 and can look at a binary string and convert it to hex without doing the math, just from repetitive use. Though, that is fading a little with these tools doing the work!

The output for IntyBasic is more like:

 

Label 65

####....

....####

########

........

######

 

TI would be Call Char(65,"F00FFF00FF")

 

Hchar(1,1,65) :: Hchar(1,2,66)... would be something like DATA $8000, $8001 ......

 

Then we have backtab color settings etc.

 

This type of tool would speed the process incredibly, as it does for the TI. I made the Pacman maze and 4 ms. Pacman mazes in about 45 minutes. When I did Mirror Maze.

That would have taken me a week on graph paper OR until I gave up... plus you really get to SEE what it will look like. I could tweak a wall definition and see the impact across the entire maze... An AWESOME tool.

 

If this was 1981, it would be thrilled just to have an Intellivision Basic. But I must admit, I am spoiled now. I don't want to do busy work. I want to play around with a game screen, then write the game that uses it.

 

One thing I may have missed, is it possible to output DISPLAY AT commands with a width of 32 for Mode 2? It gives an option, but I cannot make it work.

I use the 28 wide and fill in the remaining 4 columns if I need too. Most of the time, I don't.

  • Like 1
Link to comment
Share on other sites

Senior Falcon on AtariAge is quite good at fielding specific XB256 and Compiler questions.

 

Did you ask in the Intellivision Forums if they have a similar editor to Magellan? I know there’s a book about Inty BASIC which covers dev tools:

 

Programming Games for Intellivision https://www.amazon.com/dp/1387929089/ref=cm_sw_r_cp_api_i_3UDHCbZGRVNJQ

 

 

Sent from my iPhone using Tapatalk Pro

Link to comment
Share on other sites

Thanks Airshack,

I picked up the paperback. I should have / need to get the digital version. But the book is what got me started down this path.

 

With the book, I finally am able to write, compile and run some simple stuff. I had no luck prior. So, I have made some progress.

I have not found anything similar for the intellivision yet.

 

I am on vacation in 2 weeks, I will have time to tinker. I want to have do something intellivision. If not, I have have some TI rewrites to do. Speed/Size stuff. But that is less fun ;)

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Is it possible to import / merge ranges of characters from multiple images? I have two character image maps, but I want certain ranges from each. I'm not seeing any way, but figured I would ask.

 

Also, it seems that it might be useful to have an expanded character sheet in Magellan that would allow you to manage sets larger than the standard 256. Same idea as a color palette, just for characters. This would let you load one set of thousands of characters, and choose which ones make up the active 256 usable set.

 

Anyway, just some thoughts.

Link to comment
Share on other sites

Is it possible to import / merge ranges of characters from multiple images? I have two character image maps, but I want certain ranges from each. I'm not seeing any way, but figured I would ask.

 

Also, it seems that it might be useful to have an expanded character sheet in Magellan that would allow you to manage sets larger than the standard 256. Same idea as a color palette, just for characters. This would let you load one set of thousands of characters, and choose which ones make up the active 256 usable set.

 

Anyway, just some thoughts.

 

Import Map Image allows you to specify the start character. Perhaps you can import the first character image, then remove the characters you don't need, and then import the second image? Another option is to copy and paste directly in the .mag file. It's just a simple text file.

 

I agree it would be nice to be able to work with larger character sets or multiple character sets, but I don't have a clear idea of how it would work in the UI.

Link to comment
Share on other sites

I agree it would be nice to be able to work with larger character sets or multiple character sets, but I don't have a clear idea of how it would work in the UI.

 

I think the easiest way to implement this would be to add an option for having 1024 characters, for instance, in the character set. It would be up to the user to limit the use on maps to 0-255.

 

The Import Character Image function should also have an option for specifying the start character.

  • Like 1
Link to comment
Share on other sites

Well, I can think of a few ways to do it, but since I'm not willing to do the work right now, these are just thoughts...

 

(Note: I will randomly use the term "tiles" in place of "characters")

 

Meaning of terms: I think "tile map", "tile sheet", "tile set", etc. might already mean something, so I'm going to use the term "tile database" to refer to a large, unrestricted set of tile definitions.

 

I would not limit the size of the main tile database; malloc works in Java too, yes? If someone wants to define 10,000 tiles, let them. To keep it manageable it could use a 16-bit ID for each tile, so a max of 65536 tile in the database. I would also not restrict colors-per-tile in the tile database either. I would also create a color database with 12-bit capability. The tile and color databases would be saved out independently from anything else, could be an SQLite database, a large text file, or whatever.

 

The user can then define "tile groups" and "color groups". These are just what they sound like, groups of tiles (size should be user specified from 1 to 256) picked from the tile database, and groups of colors (size from 1 to 16) picked from the color database. These are basically just index lists from the main databases. For example, I could make a tile group with 4 tiles, picked from tile database indexes 20, 4567, 10001, and 33987. The user should be able to name the tile and color groups to easily identify them.

 

Once the tile and color groups are defined, they can be swapped into the one main "tile map", which is always 256 tiles, and the main "color map", which is always 16 colors (i.e. the existing tile and colors in the program as it is now). You should be able to copy any tile group into the main tile map, at any starting location in the tile map. Same with colors. You should also be able to choose a range of tiles from the tile map and create a new tile group from it (and again, same with the colors).

 

When tiles are moved / copied from a tile group to the tile map, the bits-per-pixel is limited to whatever the active color map is set to. However, the bpp information should not be lost. Basically, the main color map is used to limit the colors for display and export purposes, but should not destroy any extra bpp contained in the tile. This adds some data management overhead for sure, but should not be too hard to maintain.

 

The tile database UI would just be a big sheet of tiles. There would be a list of the groups, and when you select one the tiles in that group are highlighted. If you wanted to be fancy you could draw boxes around each group (although the groups do not need to be consecutive in the tile database, so this might not work out very well). Maybe the group view is separate from the main tile database, so when you select a group the tiles in that group are shown consecutively in their own area.

 

Anyway just some quick thinking, and certainly room for improvement in the idea.

Link to comment
Share on other sites

Well, I can think of a few ways to do it, but since I'm not willing to do the work right now, these are just thoughts...

 

But why do you need a tile database? I think it would make the application a lot more complicated to use. What is it you can't do if you just had a larger tile set?

Link to comment
Share on other sites

Well, in the recent example where I ran-up Magellan to see if I could use it, I wanted to mix two fonts, selecting the upper-case tiles from one set and the lower-case tiles from the other. But, there was no way to import a range, so I just worked it out manually with a hex editor or whatever (actually I think I used Paint, zoomed in to the pixel level (all other "fancy" graphics apps try to anti-alias the pixels... grr.)).

 

If I had a place where I could just load in tiles unrestricted by limits like the number of tiles, or a range (0 to 255), then I could just load up whatever I need, rearrange them, and save out sub-sets. Having a giant tile database would also make it easy to import graphic images and have it broken up into the tiles needed to reproduce the image. Not that I need to do that, it just comes to mind. Also, when I look at the tile sets like what adamantyr has for his game (http://atariage.com/forums/topic/157742-ti-994a-disk-based-crpg/page-13?do=findComment&comment=4223023), it makes my head hurt thinking about what he has to do to manage all those tiles, picking tiles to use for certain maps, etc. A large database would help a lot in cases like this.

 

The way I described it earlier, using the large tile database would be optional and should not affect the way the app currently works for people who would not need the flexibility.

Link to comment
Share on other sites

Well, in the recent example where I ran-up Magellan to see if I could use it, I wanted to mix two fonts, selecting the upper-case tiles from one set and the lower-case tiles from the other. But, there was no way to import a range, so I just worked it out manually with a hex editor or whatever (actually I think I used Paint, zoomed in to the pixel level (all other "fancy" graphics apps try to anti-alias the pixels... grr.)).

 

Unless there are more than 128 tiles in each font you should be able to use Import Map Image to import the two fonts, with a start offset for the second font Then you can use Shift-click in the tile set to rearrange them (or use the Replace Characters tool, but I never found that very useful).

 

>> Having a giant tile database would also make it easy to import graphic images and have it broken up into the tiles needed to reproduce the image. Not that I need to do that, it just comes to mind.

We already have that feature (Import Map Image), but if the tiles were imported into a database and not into the tile set and the map, then I don't think this feature would be very useful. If we just had a larger tile set on the other hand... :)

 

>> Also, when I look at the tile sets like what adamantyr has for his game (http://atariage.com/forums/topic/157742-ti-994a-disk-based-crpg/page-13?do=findComment&comment=4223023), it makes my head hurt thinking about what he has to do to manage all those tiles, picking tiles to use for certain maps, etc. A large database would help a lot in cases like this.

I don't think adamantyr is using Magellan, but when I have been working on projects that needed lots of tiles (Dungeons of Asgard), what I needed was to have them in the tile set so they could be exported (even though the 256 limit was exceeded). Sometimes I would also have liked to have different tile sets for different maps, but that can be dealt with by having multiple files.

 

It would be interesting to know what other users think?

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