Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3]   Go Down

Author Topic: Source code versioning system and repo  (Read 26774 times)

0 Members and 2 Guests are viewing this topic.

bruceuncle

  • AMOS Dev
  • A500
  • *****
  • Karma: 6
  • Offline Offline
  • Gender: Male
  • Posts: 425
  • WINUAE Amiga User
Re: Source code versioning system and repo
« Reply #30 on: May 14, 2013, 12:39:54 AM »

We are also missing the source for Editor_DBL.bin, which is inserted (via Insert_DBL.AMOS) into AMOSPro_Editor_Resource.Abk.  I couldn't get your DBL editor to read it from a memory bank but the plain text is visible in the binary so I think we can reconstruct it. 

The format for Editor_DBL.bin is simple:

Start:   word   2   Number of DBL progs
   long   Prog1-Start   Offset to prog 1   
   long   Prog2-Start   Offset to prog 2   
Prog1:   word   length of prog 1      
   string   prog 1 text (null-terminated)      
Prog2:   word   length of prog 2      
   string   prog 2 text (null-terminated)      
           

However, it's all redundant.  I would speculate that Insert_DBL.AMOS was an early prototype for ResourceBankMaker.AMOS which will load and save DBL in plain text files.  My DBL Editor does the same thing.

I've attached the two AMOSPro_Editor_Resource.Abk 'source' files in a zip.

These will both extract from the bank okay using my DBL Editor.  But you will have a problem using Expand... on the second program.  It's got Tab characters in it which the parser will throw out as 'illegal'.  I just saved it and edited it in a hex editor.  (There's a useful Hex Editor by Jean-Baptiste Bolcato in the sources distribution.  He seems to have done all the work on storing DBL in Resource Banks and authored the Resource Bank Maker accessory.  It's in the JBB_progs directory.)

DBL_Editor.AMOS V1.38 coming soon:

  • Fix the Tab character being errored as 'illegal'.  It should ignore all control characters when parsing.
  • There's a clash between the InactivList instruction and one very rarely used called ILlegal.  The latter seems to be used for debugging as it results in the illegal 68000 instruction and presumably is trapped as such.  I ignored it as it would need to be hard-coded (yuk!  :( ) in the parser rather than being a lookup in the data table.  Might as well fix it as I remember seeing it somewhere embedded in an executable.  Can't remember which one and now I can't find it again!  It was one of those long nights in the early days of writing the DBL Editor with probably too much red wine with the pizza!  ;)
  • I missed including the Default Resource Bank's commented DBL Sources from the distribution, so they will be included.
Missing Files in General

Personally, I'm not regarding any files as missing if they can be extracted back to a 'source' without too much trouble:
  • DBL embedded in Resource Banks for example.
  • DBL embedded in the executables is similar.  But note that these usually have no EOL characters which will choke some text editors - you get a file with one very long line.  CygnusEd in particular chokes but gives no warning!  My DBL Editor detects this and word-wraps (preen, preen  ::) ).
  • Machine Code embedded in banks.  I've used Resource a lot before the sources were released and have symbol files for most of the ones used in AMOS Pro.  So I'll just re-source them.  Example: Bank 12 in Disc_Manager.AMOS.
  • Data embedded in banks.  Usually decipherable from the AMOS program's use of it.  Example: Banks 9 and 10 in Disc_Manager.AMOS.

Some of the accessories need fixing and/or rewriting.  So not too bothered (famous last words ::) ).  As long as we have the sources for the core executables, libraries and config files, I think we'd have the complete kit.
Logged
Repeat after me ...  "The AMOS Pro architecture is complex but it is not complicated."
Pages: 1 2 [3]   Go Up
 

TinyPortal 2.2.2 © 2005-2022