Jump to content
IGNORED

Magellan


The Codex

Recommended Posts

^^^^What he said.

 

 

Sent from my iPhone using Tapatalk Pro

 

I'm not that familiar with XB256, and I never use any of the BASIC export formats myself, so I would need a quite detailed description of the output format if I was to do this.

 

As an interim solution, would it help to remove the character set limitations on the current XB export screen? Perhaps let it be guided by whether you have chosen Expanded Characters or not?

Link to comment
Share on other sites

 

As an interim solution, would it help to remove the character set limitations on the current XB export screen? Perhaps let it be guided by whether you have chosen Expanded Characters or not?

 

That would be a useful starting point indeed.

 

 

As for the XB256 export. As far as I know, using the existing XB export, you'd need only replace the commands that define characters and color sets, with the XB256 equivalent. IE.

 

CALL CHAR is CALL LINK("CHAR2”,character-code,pattern-identifier[,...])

 

CALL COLOR is CALL LINK("COLOR2”,character-set,foreground-color,background-color [,...])

 

and include CALL LINK("SCRN2") before you write the characters to screen.

 

In doing so, the character definitions can use the full range of characters, and colors.

It's quite great for us novice programmers who don't grok assembly.

 

By writing to the second character set, the 1st character set is freed up to define all our sprites. This is done just using the built in CALL CHAR. So it gives us 28 sprite definitions in extended basic separate from the character set.

 

If you need more info than that Senior Falcon can get into the nitty gritty.

 

Thanks for taking the time to look into any of this at all.

Edited by LASooner
Link to comment
Share on other sites

 

That would be a useful starting point indeed.

 

 

As for the XB256 export. As far as I know, using the existing XB export, you'd need only replace the commands that define characters and color sets, with the XB256 equivalent. IE.

 

CALL CHAR is CALL LINK("CHAR2”,character-code,pattern-identifier[,...])

 

CALL COLOR is CALL LINK("COLOR2”,character-set,foreground-color,background-color [,...])

 

and include CALL LINK("SCRN2") before you write the characters to screen.

 

In doing so, the character definitions can use the full range of characters, and colors.

It's quite great for us novice programmers who don't grok assembly.

 

By writing to the second character set, the 1st character set is freed up to define all our sprites. This is done just using the built in CALL CHAR. So it gives us 28 sprite definitions in extended basic separate from the character set.

 

If you need more info than that Senior Falcon can get into the nitty gritty.

 

Thanks for taking the time to look into any of this at all.

 

Thanks, so here's a demo of XB 256 output. Is this acceptable?

 

Note that there are some REMs without line numbers. I think this was deliberate by the original Magellan developer, and they will disappear if you paste the code into Classic99 or Js99er.

REM COLORSET DECLARATIONS

100 DATA 1,16,4,2,10,4,3,12,10,4,11,12,5,14,4,6,13,4,7,6,10,8,5,6
110 DATA 9,7,11,10,9,9,11,14,13,12,7,5,13,7,14,14,13,7,15,15,13,16,4,16

REM CHARACTER DATA

1000 DATA 32,"FF00000000000000",33,"FF00000000030C30",34,"FF030C30C0000000",35,"0000000010000000"
1010 DATA 36,"0000000000030C30",37,"00030C30C0000000",38,"C000000000000000",39,"C0000000000000FF"
1020 DATA 40,"00000000030F3FFF",41,"030F3FFFFFFFFFFF",42,"FFFFFFFFFFFFFFFF",43,"0000000000000000"
1030 DATA 44,"0000000000000000",45,"0000000000000000",46,"0000000000000000",47,"0000000000000000"
1040 DATA 48,"00000000030F3FFF",49,"030F3FFFFFFFFFFF",50,"FFFFFFFFFFFFFFFF",51,"0000000000000000"
1050 DATA 52,"0000000000000000",53,"0000000000000000",54,"0000000000000000",55,"0000000000000000"
1060 DATA 56,"00000000030F3FFF",57,"030F3FFFFFFFFFFF",58,"FFFFFFFFFFFFFFFF",59,"0000000000000000"
1070 DATA 60,"0000000000000000",61,"0000000000000000",62,"0000000000000000",63,"0000000000000000"
1080 DATA 64,"0000000000030F3F",65,"00030F3FFFFFFFFF",66,"FFFFFFFFFFFFFFFF",67,"FFFFFFFFFCF0C000"
1090 DATA 68,"FCF0C00000000000",69,"0000000000000000",70,"0000000000000000",71,"0000000000000000"
1100 DATA 72,"00000000030F3FFF",73,"030F3FFFFFFFFFFF",74,"FFFFFFFFFFFFFFFF",75,"FFFFFFFFFFFFFCF0"
1110 DATA 76,"FFFFFCF0C0000000",77,"C000000000000000",78,"0000000000000000",79,"0000000000000000"
1120 DATA 80,"00000000030F3FFF",81,"030F3FFFFFFFFFFF",82,"FFFFFFFFFFFFFFFF",83,"0000000000000000"
1130 DATA 84,"0000000000000000",85,"0000000000000000",86,"0000000000000000",87,"0000000000000000"
1140 DATA 88,"00000000030F3FFF",89,"030F3FFFFFFFFFFF",90,"FFFFFFFFFFFFFFFF",91,"0000000000000000"
1150 DATA 92,"0000000000000000",93,"0000000000000000",94,"0000000000000000",95,"0000000000000000"
1160 DATA 96,"0000000000030F3F",97,"00030F3FFFFFFFFF",98,"FFFFFFFFFFFFFFFF",99,"0000000000000000"
1170 DATA 100,"0000000000000000",101,"0000000000000000",102,"0000000000000000",103,"0000000000000000"
1180 DATA 104,"0000000000000000",105,"0000000000000000",106,"0000000000000000",107,"0000000000000000"
1190 DATA 108,"0000000000000000",109,"0000000000000000",110,"0000000000000000",111,"0000000000000000"
1200 DATA 112,"0000000000030F3F",113,"00030F3FFFFFFFFF",114,"0000000000000000",115,"0000000000000000"
1210 DATA 116,"0000000000000000",117,"0000000000000000",118,"0000000000000000",119,"0000000000000000"
1220 DATA 120,"0000000000030F3F",121,"00030F3FFFFFFFFF",122,"0000000000000000",123,"0000000000000000"
1230 DATA 124,"0000000000000000",125,"0000000000000000",126,"0000000000000000",127,"0000000000000000"
1240 DATA 128,"00000000030F3FFF",129,"030F3FFFFFFFFFFF",130,"0000000000000000",131,"0000000000000000"
1250 DATA 132,"0000000000000000",133,"0000000000000000",134,"0000000000000000",135,"0000000000000000"
1260 DATA 136,"0000000000030F3F",137,"00030F3FFFFFFFFF",138,"0000000000000000",139,"0000000000000000"
1270 DATA 140,"0000000000000000",141,"0000000000000000",142,"0000000000000000",143,"0000000000000000"
1280 DATA 144,"FF00000000000000",145,"FF00000000030C30",146,"FF030C30C0000000",147,"0000000000030C30"
1290 DATA 148,"00030C30C0000000",149,"C000000000000000",150,"C0000000000000FF",151,"00000000000000FF"
1300 DATA 152,"FFFFFFFFFFFFFF00",153,"FFFFFFFFFFFFFFFF",154,"0000000000000000",155,"0000000000000000"
1310 DATA 156,"0000000000000000",157,"0000000000000000",158,"0000000000000000",159,"0000000000000000"

REM MAP DATA

REM MAP #1
REM MAP #1 WIDTH, HEIGHT, SCREEN COLOR
2000 DATA 32,24,1
REM MAP #1 DATA
2010 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2020 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2030 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2040 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2050 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2060 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2070 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,39,152
2080 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2090 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,40,41
2100 DATA 42,42,48,49,50,50,56,57,32,32,33,34,32,32,33,34
2110 DATA 36,37,38,153,36,37,38,153,36,37,39,152,40,41,42,42
2120 DATA 48,49,50,50,56,57,58,58,36,37,38,153,36,37,38,153
2130 DATA 32,32,33,34,32,32,33,34,32,32,64,65,66,66,67,68
2140 DATA 153,153,72,73,58,58,58,58,32,32,33,34,32,32,33,34
2150 DATA 36,37,38,153,36,37,39,152,64,65,66,66,67,68,153,153
2160 DATA 72,73,74,74,58,58,96,97,36,37,38,153,36,37,38,153
2170 DATA 32,32,33,34,32,32,40,41,42,42,80,81,82,82,88,89
2180 DATA 74,74,74,74,96,97,98,98,32,32,33,34,32,32,33,34
2190 DATA 36,37,38,153,40,41,42,42,80,81,82,82,88,89,90,90
2200 DATA 74,74,112,113,98,98,98,98,36,37,38,153,36,37,38,153
2210 DATA 32,32,33,34,104,104,104,104,104,104,104,104,90,90,90,90
2220 DATA 112,113,66,66,98,98,98,98,32,32,33,34,32,32,33,34
2230 DATA 36,37,38,153,104,104,104,104,104,104,104,104,90,90,120,121
2240 DATA 66,66,66,66,98,98,98,98,36,37,38,153,36,37,38,153
2250 DATA 32,32,33,34,104,104,104,104,104,104,104,104,120,121,98,98
2260 DATA 66,66,128,129,98,98,136,137,144,144,145,146,144,144,145,146
2270 DATA 36,37,38,153,104,104,104,104,104,104,104,104,98,98,98,98
2280 DATA 128,129,98,98,136,137,74,74,147,148,149,74,147,148,150,151
2290 DATA 32,32,33,34,104,104,104,104,104,104,104,104,98,98,98,98
2300 DATA 98,98,136,137,74,144,145,146,144,144,145,146,144,144,75,76
2310 DATA 36,37,38,153,104,104,104,104,104,104,104,104,98,98,98,98
2320 DATA 136,137,74,74,147,148,149,74,147,148,150,151,75,76,77,153
2330 DATA 32,32,33,34,104,104,104,104,104,104,104,104,98,98,136,137
2340 DATA 74,144,145,146,144,144,145,146,144,144,75,76,32,32,33,34
2350 DATA 36,37,38,153,104,104,104,104,104,104,104,104,136,137,74,74
2360 DATA 147,148,149,74,147,148,149,74,75,76,77,153,36,37,38,153
2370 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2380 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2390 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2400 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2410 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2420 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2430 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2440 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2450 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2460 DATA 32,32,33,34,32,32,33,34,32,32,33,34,32,32,33,34
2470 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153
2480 DATA 36,37,38,153,36,37,38,153,36,37,38,153,36,37,38,153

2490 CALL LINK("SCRN2")

REM LOAD COLORSET

2500 RESTORE 100::FOR C=1 TO 16::READ CS,CF,CB::CALL LINK("COLOR2",CS,CF,CB)::NEXT C

REM LOAD CHARACTERS

2510 RESTORE 1000::FOR C=1 TO 128::READ CN,CC$::CALL LINK("CHAR2",CN,CC$)::NEXT C

REM DRAW MAP(S)

2520 CALL CLEAR
2530 RESTORE 2000
2540 READ W,H,SC::CALL SCREEN(SC)::CALL CLEAR
2550 FOR Y=1 TO H
2560 FOR X=1 TO W
2570 READ CP::CALL VCHAR(Y,X,CP)
2580 NEXT X
2590 NEXT Y
2600 CALL KEY(0,K,S)::IF S=0 THEN 2600
2610 END

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

It seems to be working OK, so here's a version with two new features:

 

- Export to XB 256

- Analyze Character Usage tool

 

The latter enables you to see how often you have used each character on your maps.

 

Is anyone else having issues installing this version? Am running Windows 10 and it crashes half way through the installation reporting the rather unhelpful error message - "Magellan has stopped working". I am very keen to get the XB256 support....

Link to comment
Share on other sites

How do i create a memory dump of classic99's ram to import into magellan?

Import menu > VRAM Dump is expecting a .bin .vdp or .vram file, but i do not seem to see a suitable file in classic99's directory, and do not see a option to save emulated memory to a dump file anywhere in classic99.

I have a "bare program" of nothing but character definitions and corresponding call color() commands, using the latest classic99 and magellan 3.2 (downloaded awhile back, never got around to trying it until now. I am aware it is not the latest version).

 

From the debugger: Debug menu / Dump RAM.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

 

Aw Jeeez! Thanks! I was in a hurry at the time and didn't have time to go through the whole thread. Many topics have message #1 with the latest copy, (like the fbForth thread). Got it now. I'll spend some time with it tomorrow.

Cool I was gonna look for it too

 

Sent from my LG-H830 using Tapatalk

Link to comment
Share on other sites

  • 1 month later...

Senior Falcon helped me discover an issue with the XB256 exporter, the default value for character definitions is to start on line 500, and the map starts at 900, but if you define the full range from 0-255, your line numbers will be overwritten by the map data statements. Effectively killing all the character data for characters 160-255. I didn't realize there were duplicate line numbers until he pointed it out. The easiest solution would be to set the default line number for map data to start at a higher number like line 4000 to give the character definitions enough room before the data statements

 

So if anyone else is having trouble redefining the full range just change this number and it should work fine from the exported code.

 

J8UXSXi.png

Edited by LASooner
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...