Jump to content
IGNORED

Aquarius Bitmap Graphics Tool


chjmartin2

Recommended Posts

Lastly, did Jay's editor come out or was it just a screen shot? If there is an editor available I am sure I could hobble together a file to be loaded into it. I don't believe that I will be writing an editor (I'm a bit too lazy for that.)

Jason is correct: I posted a screenshot because I have the editor working well enough for my purposes, but it needs a rewrite before it will be ready for a public release. I really need to get the Aquaricart finished (getting close!), and after that's done, I'll revisit the editor.

 

I'm very interested in adding a bitmap import feature of some kind, because it seems like that would be a logical extension of what I've already done with the editor: it can currently import plain text files, for example. It also supports exporting to a "slideshow" cartridge image (a bankswitched ROM for my SuperCart I boards or a regular 16K ROM), so you can create as many instantly-loading screens as you want without having to have any extra RAM at all. Unfortunately, running it on a real Aquarius still requires burning an EPROM, but that's something I'll remedy at some point.

 

Well... let me know if you want a "module" for your editor - may not be the cleanest implementation, but I'd be willing to create any output format you want with a command-line program that has no output, so you could call it from your program. If we're talking Win32 - if we're talking something else then I am probably too lazy to do it! ha... But there is a Freebasic compiler for Linux... dunno... just offering to help if I can.

 

i'm using the Freebasic compiler for Linux, but it's logging an error, maybe because missing library? - as i think you're a dual-boot user, i'd ask you to try and see what happens... :|

 

anyway, i started to code a less slow version of the converter (it checks first the attribute, using 12.5%, 37.5%, 62.5%, and 87.5% ink-over-paper ammounts - and later checks each character in normal and inversed (swapped ink and paper) mode ), available at http://pastebin.com/U9f5V5uu - the issue is the attribute colour detection is still buggy... :| (i may try to debug each function independently, or add there the ones i used on the C64-hires version)

 

so, from the downloaded files you sent, except the first one (the only one i found available to try to compile on Freebasic-Linux), you only shared the w32 binaries, no sources for trying them as well...

Link to comment
Share on other sites

Well... let me know if you want a "module" for your editor - may not be the cleanest implementation, but I'd be willing to create any output format you want with a command-line program that has no output, so you could call it from your program. If we're talking Win32 - if we're talking something else then I am probably too lazy to do it! ha... But there is a Freebasic compiler for Linux... dunno... just offering to help if I can.

 

if you all people are trying to code a simple cross-development display editor for Aquarius, i coded years ago a map editor, which code i think can be 'easily' adapted for coding such editors, since it could be a simple one (choosing the character, drawing with it, loading, saving, etc.)

 

(when my laziness allows, i'll try to code and share my own version, of course! :) )

 

http://nitrofurano.linuxkafe.com/sdlbasic/pics/lg_mapedit.jpg

http://nitrofurano.altervista.org/sdlbasic/

Link to comment
Share on other sites

Lastly, did Jay's editor come out or was it just a screen shot? If there is an editor available I am sure I could hobble together a file to be loaded into it. I don't believe that I will be writing an editor (I'm a bit too lazy for that.)

Jason is correct: I posted a screenshot because I have the editor working well enough for my purposes, but it needs a rewrite before it will be ready for a public release. I really need to get the Aquaricart finished (getting close!), and after that's done, I'll revisit the editor.

 

I'm very interested in adding a bitmap import feature of some kind, because it seems like that would be a logical extension of what I've already done with the editor: it can currently import plain text files, for example. It also supports exporting to a "slideshow" cartridge image (a bankswitched ROM for my SuperCart I boards or a regular 16K ROM), so you can create as many instantly-loading screens as you want without having to have any extra RAM at all. Unfortunately, running it on a real Aquarius still requires burning an EPROM, but that's something I'll remedy at some point.

 

Well... let me know if you want a "module" for your editor - may not be the cleanest implementation, but I'd be willing to create any output format you want with a command-line program that has no output, so you could call it from your program. If we're talking Win32 - if we're talking something else then I am probably too lazy to do it! ha... But there is a Freebasic compiler for Linux... dunno... just offering to help if I can.

 

i'm using the Freebasic compiler for Linux, but it's logging an error, maybe because missing library? - as i think you're a dual-boot user, i'd ask you to try and see what happens... :|

 

anyway, i started to code a less slow version of the converter (it checks first the attribute, using 12.5%, 37.5%, 62.5%, and 87.5% ink-over-paper ammounts - and later checks each character in normal and inversed (swapped ink and paper) mode ), available at http://pastebin.com/U9f5V5uu - the issue is the attribute colour detection is still buggy... :| (i may try to debug each function independently, or add there the ones i used on the C64-hires version)

 

so, from the downloaded files you sent, except the first one (the only one i found available to try to compile on Freebasic-Linux), you only shared the w32 binaries, no sources for trying them as well...

 

I am not running Linux right now. Anyway, the source is attached. If you look at the first few lines of codes you will see that I have included the win32 libraries, you'll have to take that reference out I would imagine and go ahead and add an input statement to get the input file name. Once you do that then you can compile for Linux.

BMP2AQV3.zip

Link to comment
Share on other sites

Here is a new version of the converter. It allows you to choose either A) full character set, B) the 80x72 bloxel set and C) graphics characters only. Having looked at output, I am not sure if I should include everything I have included in graphics characters. I am also thinking that I could make an option D) Custom and then read in from a text file whatever character set somebody wanted to specify. Anyway, this will at least get you started.

 

post-20571-129580457763_thumb.jpg

post-20571-129580459205_thumb.jpg

post-20571-12958046072_thumb.jpg

BMPAQV4.zip

Link to comment
Share on other sites

Ok... now you can choose to dither the input image (so you don't have to do it before you convert) and you can use a Custom character set. Just edit the customchar.txt to include any decimal value from 0 to 255 that you want included. I am done with this for now as we already have tools from Martin to convert to a casette file and a loader and this allows you to pick any character set you want.

BMPAQV41.zip

Link to comment
Share on other sites

Here is a new version of the converter. It allows you to choose either A) full character set, B) the 80x72 bloxel set and C) graphics characters only. Having looked at output, I am not sure if I should include everything I have included in graphics characters. I am also thinking that I could make an option D) Custom and then read in from a text file whatever character set somebody wanted to specify. Anyway, this will at least get you started.

 

post-20571-129580457763_thumb.jpg

post-20571-129580459205_thumb.jpg

post-20571-12958046072_thumb.jpg

 

can you make one without the bikini top?

Link to comment
Share on other sites

I am not running Linux right now. Anyway, the source is attached. If you look at the first few lines of codes you will see that I have included the win32 libraries, you'll have to take that reference out I would imagine and go ahead and add an input statement to get the input file name. Once you do that then you can compile for Linux.

 

i think i 'remarked' all lines related to w32 (whole 'function file_getname()', '#include once "windows.bi"', and replaced 'filename$=file_getname(NULL)' with 'filename$="anne.bmp"' ), and i got this:

guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ fbc _1_____bmp2aqv41_bm.bas 
_1_____bmp2aqv41_bm.bas(41) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'DIM image(320, 192), apal(15,3), imz(320,192,3), charo(8, , COLL(16), codis(16, 16), outbmp(320, 192), outcol(40, 24, 2), outchar(40, 24), collok(16), FOUTCHAR(960), FOUTFORE(960), FOUTBACK(960)'
_1_____bmp2aqv41_bm.bas(42) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'DIM imgload(320*192) AS Integer, charmap(255,7,7), matches(511), imagein(319,191,3), imout(319,191)'
_1_____bmp2aqv41_bm.bas(43) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb in 'Dim ret As String, graphchar(255)'
_1_____bmp2aqv41_bm.bas(47) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'FILENAME' in 'FILENAME$ = "-"'
_1_____bmp2aqv41_bm.bas(48) error 41: Variable not declared, TOGGLE in 'TOGGLE = 0'
_1_____bmp2aqv41_bm.bas(52) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'filename' in 'filename$="anne.bmp"'
_1_____bmp2aqv41_bm.bas(54) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'SAVENAME' in 'SAVENAME$=left(filename$,len(filename$)-4)+".AQ"'
_1_____bmp2aqv41_bm.bas(58) error 41: Variable not declared, i in 'FOR i = 1 TO 16'
_1_____bmp2aqv41_bm.bas(59) error 41: Variable not declared, j in 'FOR j = 1 TO 16'
_1_____bmp2aqv41_bm.bas(76) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'lin' in 'read lin$'
_1_____bmp2aqv41_bm.bas(76) error 123: Too many errors, exiting
guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ 

(nevermind about the 'macbook' there, this machine is a OSX/Ubuntu dualboot...)

 

and before remarking, i got this:

 

guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ fbc bmp2aqv41.bas 
bmp2aqv41.bas(3) error 24: File not found, "windows.bi" in '#include once "windows.bi"'
guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ 

Edited by nitrofurano
Link to comment
Share on other sites

I am not running Linux right now. Anyway, the source is attached. If you look at the first few lines of codes you will see that I have included the win32 libraries, you'll have to take that reference out I would imagine and go ahead and add an input statement to get the input file name. Once you do that then you can compile for Linux.

 

i think i 'remarked' all lines related to w32 (whole 'function file_getname()', '#include once "windows.bi"', and replaced 'filename$=file_getname(NULL)' with 'filename$="anne.bmp"' ), and i got this:

guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ fbc _1_____bmp2aqv41_bm.bas 
_1_____bmp2aqv41_bm.bas(41) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'DIM image(320, 192), apal(15,3), imz(320,192,3), charo(8, , COLL(16), codis(16, 16), outbmp(320, 192), outcol(40, 24, 2), outchar(40, 24), collok(16), FOUTCHAR(960), FOUTFORE(960), FOUTBACK(960)'
_1_____bmp2aqv41_bm.bas(42) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb, found ',' in 'DIM imgload(320*192) AS Integer, charmap(255,7,7), matches(511), imagein(319,191,3), imout(319,191)'
_1_____bmp2aqv41_bm.bas(43) error 136: Default types or suffixes are only valid in -lang deprecated or fblite or qb in 'Dim ret As String, graphchar(255)'
_1_____bmp2aqv41_bm.bas(47) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'FILENAME' in 'FILENAME$ = "-"'
_1_____bmp2aqv41_bm.bas(48) error 41: Variable not declared, TOGGLE in 'TOGGLE = 0'
_1_____bmp2aqv41_bm.bas(52) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'filename' in 'filename$="anne.bmp"'
_1_____bmp2aqv41_bm.bas(54) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'SAVENAME' in 'SAVENAME$=left(filename$,len(filename$)-4)+".AQ"'
_1_____bmp2aqv41_bm.bas(58) error 41: Variable not declared, i in 'FOR i = 1 TO 16'
_1_____bmp2aqv41_bm.bas(59) error 41: Variable not declared, j in 'FOR j = 1 TO 16'
_1_____bmp2aqv41_bm.bas(76) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'lin' in 'read lin$'
_1_____bmp2aqv41_bm.bas(76) error 123: Too many errors, exiting
guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ 

(nevermind about the 'macbook' there, this machine is a OSX/Ubuntu dualboot...)

 

and before remarking, i got this:

 

guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ fbc bmp2aqv41.bas 
bmp2aqv41.bas(3) error 24: File not found, "windows.bi" in '#include once "windows.bi"'
guest@macbook:/mnt/sda4/trabalhos/programacao/basic/sdlbasic/examples02/8bitscreen_converters_source/SharpMz700/_freebasic/BMPAQV41$ 

 

I wish I could help but I don't have any experience with Linux and Freebasic... I know that isn't useful and I hate it when people can't help me, but I just don't know anything about it to help you.

Link to comment
Share on other sites

Well... let me know if you want a "module" for your editor - may not be the cleanest implementation, but I'd be willing to create any output format you want with a command-line program that has no output, so you could call it from your program. If we're talking Win32 - if we're talking something else then I am probably too lazy to do it! ha... But there is a Freebasic compiler for Linux... dunno... just offering to help if I can.

Thanks ... I'll look into doing this after I complete the next revision of my screen editor. I'd like to add this functionality as an "import" option, in much the same way that the editor now has the ability to import plain text. This would allow the user to go in and "tweak" the imported image with the editor before exporting it to a cartridge binary or raw screen data. Since the editor is written in Java (mainly for multi-platform compatibility), it might be necessary to re-implement the import tool as a Java method, but that's something we can think about when the time comes.

Link to comment
Share on other sites

Version 4 is great! Thank you.

 

I know you are done with revisions, but I just thought of another nice (simple) feature. Setting the border color (particularly to black) would be nice.

 

Not a big deal, as I can always add the poke manually.

 

Thanks again for your work on the converter.

 

-Jason

Link to comment
Share on other sites

btw, i were trying to work on my own version and methods instead (focusing on performance improvement, on an interpreter like sdlBasic, and planning to recode it to python-pygame as well, for reaching better multiarchitecture compatibility (arm, sparc, mips, powerpc, etc.) ), and being easier to 'add' in my webcam project ( http://nitrofurano.altervista.org/experimental/webcampictureson8bitcomputers/index.html ), and of course, chjmartin2 results are still far better than the mine one (i still didn't analise the chjmartin2 code)

 

http://pastebin.com/Z6LamAMj

lena80x72result.png (chjmartin2, please don't laugh! :D )

Link to comment
Share on other sites

btw, i were trying to work on my own version and methods instead (focusing on performance improvement, on an interpreter like sdlBasic, and planning to recode it to python-pygame as well, for reaching better multiarchitecture compatibility (arm, sparc, mips, powerpc, etc.) ), and being easier to 'add' in my webcam project ( http://nitrofurano.altervista.org/experimental/webcampictureson8bitcomputers/index.html ), and of course, chjmartin2 results are still far better than the mine one (i still didn't analise the chjmartin2 code)

 

http://pastebin.com/Z6LamAMj

lena80x72result.png (chjmartin2, please don't laugh! :D )

 

I would never laugh. I am working on an Atari 2600 converter and it is laughable! :)

Link to comment
Share on other sites

Here's my best Lena...

 

post-20571-129609159614_thumb.jpg

 

really great! :)

 

i'm about to code this 80x72 converter as well

 

about mine one, i just asked you for not laugh just for fun! :) - of course that needs lots of improvements, like inverting the ink/paper colours decently, and trying to reach better results

 

years ago i were also trying an atari 2600converter (using both background and sprites... :|), but the frustration from the results were so huge i quited that for a while

 

simultaneously with the Aquarius version, i'm trying to code the mz700 version as well, since the display limitations seems somehow similar:

lena80x50jpgbmp.png, for that webcam project

Link to comment
Share on other sites

Lastly, did Jay's editor come out or was it just a screen shot? If there is an editor available I am sure I could hobble together a file to be loaded into it. I don't believe that I will be writing an editor (I'm a bit too lazy for that.)

 

about editors, i finally could run successfully that one for Sharp-MZ700 - it's not exactly like Aquarius, but it can suggest people who want to code similar editor for Aquarius:

 

1- from http://www.maroon.dti.ne.jp/youkan/mz700/index.html get http://www.maroon.dti.ne.jp/youkan/mz700/CGE7.zip (CGE7.exe, from there, runs fine on Wine - since i have no other way to run ms-windows executables)

2- from http://www.sharpmz.org/marukunemu.htm get http://www.sharpmz.org/download/mz700fjp.zip (there is a file named Mz700fon.txt)

3- CGE7.exe needs a neighbour file (in same directory) named mz700fon.dat (exactly 4096 bytes sized) - at http://pastebin.com/8hccPkZj i posted a script converts Mz700fon.txt into mz700fon.dat , which i coded to run on sdlBasic (i think the code is simple enough if people want to use other interpreters, compilers, or languages)

4- if everything is resulting fine, the editor should look like this: http://img534.imageshack.us/img534/9922/mz700editor.png

Link to comment
Share on other sites

Lastly, did Jay's editor come out or was it just a screen shot? If there is an editor available I am sure I could hobble together a file to be loaded into it. I don't believe that I will be writing an editor (I'm a bit too lazy for that.)

 

about editors, i finally could run successfully that one for Sharp-MZ700 - it's not exactly like Aquarius, but it can suggest people who want to code similar editor for Aquarius:

 

1- from http://www.maroon.dti.ne.jp/youkan/mz700/index.html get http://www.maroon.dti.ne.jp/youkan/mz700/CGE7.zip (CGE7.exe, from there, runs fine on Wine - since i have no other way to run ms-windows executables)

2- from http://www.sharpmz.org/marukunemu.htm get http://www.sharpmz.org/download/mz700fjp.zip (there is a file named Mz700fon.txt)

3- CGE7.exe needs a neighbour file (in same directory) named mz700fon.dat (exactly 4096 bytes sized) - at http://pastebin.com/8hccPkZj i posted a script converts Mz700fon.txt into mz700fon.dat , which i coded to run on sdlBasic (i think the code is simple enough if people want to use other interpreters, compilers, or languages)

4- if everything is resulting fine, the editor should look like this: http://img534.imageshack.us/img534/9922/mz700editor.png

 

and there are some samples to try, from http://www.openspc2.org/~bgm/CG700/sample1.html to http://www.openspc2.org/~bgm/CG700/sample6.html

Link to comment
Share on other sites

So I wanted to show what kinds of games could be made for the Aquarius by mocking up some screens. Here is my first shot at it. I hand edited and modified the colors and then placed characters in the right place and ran it through the converter. I think this game could be made.

 

post-20571-129693346201_thumb.jpg

Edited by chjmartin2
Link to comment
Share on other sites

So I wanted to show what kinds of games could be made for the Aquarius by mocking up some screens. Here is my first shot at it. I hand edited and modified the colors and then placed characters in the right place and ran it through the converter. I think this game could be made.

Sure, that should be perfectly feasible on the Aquarius.

 

The only trouble is, being a cartridge version of Strip Poker, you won't be able to go into the filesystem and change the graphics file names so the naked ones show up first, like you could with the disk versions.

 

(Oops ... did I just say that aloud?!) :ponder:

Link to comment
Share on other sites

  • 10 months later...

I cannot get your VBS script to work. I am getting an error that says:

 

post-20571-129282083438_thumb.jpg

 

I am frustrated because it looks like your program really helps with the memory issue in basic. Any thoughts? What does the script do? Maybe I could modify my converter to output the right format.

 

I am not worthy... I bow down... I just want to be able to make your post converter work!

 

 

Fantastic job. Really really fantastic. Very jealous at your superior knowledge of ASM. I am going to try to dissect your script in order to allow the converter to output the appropriate CAQ file for the converter. I think I will let the user choose the .AQ file or the .CAQ file and I can also pack it with the loader. Fantastic job. I will try it on a real aquarius tonight and post screen shots.

 

Truth be told, I have really wanted to learn ASM especially for my ongoing Aquarius projects. If your screen loads as fast on a real AQ as it does on the emulator (I even turned off the speed up when accessing files option) then there is a really good chance that we can create some hacked video modes.

 

Emucompboy said that maybe we could chase the beam down the screen and change characters in the middle of it being drawn and try to get multiple characters/colors per block. It would be a memory hog, but still cool even if we had to use a memory expander. It would probably require loading the array into memory and definately would require machine code to accomplish it. Even if we couldn't get color and character to switch on the fly, maybe just character.

 

Picture this (easiest scenario) you draw the top half of the characters across the screen, and before the beam gets done with the 4th line you change the characters for the next 4 lines, and on and on until you get to the end of the screen. It may require an endless loop because once the screen redraws it'll revert to the other characters again. If the memory movements are quick enough it just might work. What I don't know is if the VDG is picky and won't allow you to change characters on the fly. (i.e. does it wait for a character to be fully loaded.)

 

Problem is - I have no idea how to go about accomplishing this, but taken to its eventual end, you might be able to create a screen of 1x8 blocks with each block having 2 colors and ALMOST any combination of dots that you want. You'd get a seperate set of potential blocks for each character, the first row would be the top of each character, 2nd would be second and you'd have repeats every 8 rows. Think Semigraphics modes on the TRS-80. This would allow for almost a 320x192x16 color bitmap to be displayed. I could write the image processor and converter, but have no shot at this point in tricking out the aquarius. Thoughts?

 

He... me from the future here. Don't worry, someday you'll be cycle-counting and chasing the beam... You'll still be frustrated though.

  • Like 1
Link to comment
Share on other sites

He... me from the future here. Don't worry, someday you'll be cycle-counting and chasing the beam... You'll still be frustrated though.

That's what's wonderful about tinkering with vintage computers, though, especially if you document your experimentations in journals or in threads like this one. You can look back at those things which used to be unknown to you, but are not unknown any longer, and get a sense of your own progress. I enjoy reading through the original Aquaricart project thread for the same reason.

 

Seeing this thread again reminds me that I need to polish up my screen editing tool so I can post it for others to use. I'll see about doing it early next year.

Link to comment
Share on other sites

  • 2 weeks later...
So I wanted to show what kinds of games could be made for the Aquarius by mocking up some screens. Here is my first shot at it. I hand edited and modified the colors and then placed characters in the right place and ran it through the converter. I think this game could be made.

Sure, that should be perfectly feasible on the Aquarius.

 

The only trouble is, being a cartridge version of Strip Poker, you won't be able to go into the filesystem and change the graphics file names so the naked ones show up first, like you could with the disk versions.

 

(Oops ... did I just say that aloud?!) :ponder:

 

OMG! I was just came to post something like that when I saw your comment. Ah, the memories on the C=64 when I was 12 years old. LOL!

 

You know I learned to play poker in that thing, and I learned to be good at it.

 

-dZ.

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