Re: Source codes: conversion succesfull!

From: Ruud_at_Baltissen.org
Date: Fri, 09 Jan 2015 22:18:17 +0100
Message-ID: <54B04599.26877.6467E53@Ruud.Baltissen.org>
Hallo Spiro, Soci,


> The listing file should be enough.

My problem is that the listings produced by my assembler only shows 
the lines with code. Any in between code is left out.


Regarding the addresses, I think you understood it wrong or I didn't 
explain it well enough. Let's take an example. Here is a piece of 
the very first ROM for the C64:


; open channel for output with error check
OpenChan4OutpA:				;	  				[E118]
	jsr	OpenChan4Outp		; open channel for output	[FFC9]
	bcs	HndlBasIoErr		; if error go handle BASIC I/O
	rts


In version 2 and later the JSR is replaced by another one. The 
overlay file for version 2 would contain next line:

.org $E118
	jsr	OpenChan4OutpB		; open channel for output	[E4AD]

So when we want to create a version 2 ROM, we first assemble the 
first file and then the overlay. Because of the .org, the assembler 
knows where to put the resulting binary code.
But now I would like to create a complete source code file for 
version 2 by merging the original one of version 1 with the overlay 
file of version 2. And using the above example, the merging program 
knows that new JSR should be written over the line that generates 
code at address $E118. But how can it find this line? 

The idea was to generate a file that could look like this:

LLE118:
	jsr	OpenChan4Outp		; open channel for output	[FFC9]
LLE11B:
	bcs	HndlBasIoErr		; if error go handle BASIC I/O
LLE11D:
	rts

Now te program knows where it should start with replacing lines. And 
it is not just a matter of replacing line by line, the byte-size of 
a line is what really matters! So you should not only know the start 
of a block of lines to be replaced, but also the end.

What lines should replace which ones can all be calculated, no 
problem so far. But what about comment? Imagine that a piece of tape 
routine is replaced by a piece of JiffyDOS. Like the above example, 
the original code can be preceeded by comment. In the above example 
the comment can stay. But in the case of JiffyDOS replacing the tape 
routine, I expect the original comment to be replaced as well. And 
how am I going to tell that to the program? 

It isn't as easy as I thought this afternoon :(


--
   
Kind regards / Met vriendelijke groet, Ruud Baltissen
www.Baltissen.org







       Message was sent through the cbm-hackers mailing list
Received on 2015-01-09 22:01:09

Archive generated by hypermail 2.2.0.