Page 1 of 1

Buggy Boy source code

Posted: Sun Jan 13, 2013 4:43 pm
by Dbug
Hello,

I spent a bit of time searching in my archives and cleaning around, so there it is, the complete source code and assets (pictures, fonts, musics) of the LCP2004/Buggy Boy demo:

http://miniserve.defence-force.org/svn/ ... /LcpIntro/

It was really finished in a hurry on the party place, some parts are very old (the music player is from 1996), so please don't be too critical of the quality :)

You can ask questions of course, I just hope I will remember things :D

Re: Buggy Boy source code

Posted: Sun Jan 13, 2013 5:22 pm
by ibisum
Okay, I tried it out in my working Wine setup (which I'd forgotten I'd gotten working with the OSDK just fine), and I get as far as:

Code: Select all

J:\oric\LcpIntro>osdk_build
Building the program LCPINTRO at adress $500	
Assembling tables.S
J:tables.s
Compiling main.C
  - preprocess
  - compile
  - convert C to assembly code
  - cleanup output
Assembling player.S
J:player.s
Assembling music.S
J:music.s
Assembling rotozoom.S
J:rotozoom.s
Assembling fx.S
J:fx.s
Assembling rasters.S
J:rasters.s
Assembling chessboard.S
J:chessboard.s
Assembling vbl.S
J:vbl.s
Assembling colortext.S
J:colortext.s
Assembling text.S
J:text.s
Assembling filler.S
J:filler.s
Assembling mandel.S
J:mandel.s
Assembling scroller.S
J:scroller.s
Assembling tune_fr08.S
J:tune_fr08.s
Assembling lines.S
J:lines.s
Assembling costable.S
J:costable.s
Assembling kahru.S
J:kahru.s
Assembling pat_font.S
J:pat_font.s
Assembling pat_picture.S
J:pat_picture.s
Assembling vscroll.S
J:vscroll.s
Linking
Unresolved external: _LabelPicture_Font
Errors durink link.
ERROR : Build failed.
Press any key to continue... 

.. this.

I tried to edit pat_font to give it the label, but I dunno where to go next, this doesn't seem to work (syntax errors?). I assumed I should run osdk_makedata before osdk_build, and it did create pat_font.s from the data/* font file .. so .. not sure whats up there.

Re: Buggy Boy source code

Posted: Sat Jan 19, 2013 12:23 pm
by Dbug
Ok, I did not actually rebuild the data, I see there is a problem.

Since I'm using Windows 7 - 64bit I'm having problems with Tap2Dsk and Old2MFM that don't work anymore, so I'm taking the opportunity to update the osdk's version on SVN with the source code of these tools, and I will recompile them in native windows code.

Re: Buggy Boy source code

Posted: Sat Jan 19, 2013 12:51 pm
by Dbug
So, some update on what happens:
- If you don't use the 'make_data' the data already in SVN is correct, so revert the changes, don't run makedata, and try to build it.
- The build will most probably fail on tap2dsk and old2mfm because these two were dos programs, I rebuilt them in native Windows and you can find the executables there: http://miniserve.defence-force.org/svn/ ... inal_/Bin/

I will try to find what is wrong with the data generation, probably some stupid manual renaming I did on the party place to try to finish in time :)

Something important: This demo will not run if there's no microdisc set-up: It uses the overlay memory so it needs to be able to access the top 16k. That's why if you run it directly as a TAP it will crash.

The osdkconfig and execute have been fixed to correctly run the emulator in disk mode when started.

Re: Buggy Boy source code

Posted: Sat Jan 19, 2013 10:14 pm
by Dbug
I found the problem for the error when generating data, for some weird reason it seems that when using lower case hexadecimal digits some get converted in some fancy macro conversion, but in upper case it works.

Not sure if it's some weird stuff in my code or a nasty bug in XA...

Re: Buggy Boy source code

Posted: Sun Jan 20, 2013 5:32 pm
by ibisum
Okay, as I do not have a Windows machine, my only path is through WINE, for now. So ymmv, for whoever is not using WINE.

I UPPERCASED the contents of p_font.s, pat_picture.s files, and finally got LCPINTRO.tap built. So, earlier problem solved with regard to build .. YAY!

And now I think it is brilliant. ;)

EDIT: Forgot to mention that with regards to Tap2Dsk and Old2MFM, the interesting thing in my case, with running on Ubuntu12.04-amd64, WINE somehow is smart enough to figure out to run both of those apps in DOSBOX, which does work. So in case that is good for you to know, it just plain works at that stage, on this side of the fence. DOSBOX for Win64 might be a route out of the hassle, too.

Now to dig into the code and understand more of our favourite little lovely machines.. ;)