From: Joe Forster/STA on
> Its been a while since I tried this sort of thing, but I used to stuff
> the keyboard buffer then end from the ML (warm basic start). The RUN
> would be typed and the program execute.

Well, yeah, I wanted to mention this one, too, but I though it
wouldn't be elegant. Here's a small excerpt from my Menu Load:

ldy #number_of_chars_to_type_in
sty $c6
loop: lda table_of_chars_to_type_in,y
sta $0276,y
dey
bne $loop
jmp $e386

table_of_chars_to_type_in: .db $9B, $93, $52, $55, $4E, $0D ; Turns
cursor color to light grey, clears the screen, enters "RUN" and
presses Return.
number_of_chars_to_type_in = * - table_of_chars_to_type_in

(This is a manual disassembly, as it never had a textual source, so
syntax errors are well possible.)
From: iAN CooG on
Nick @ 64HDD <info(a)64hdd.com> wrote:
>> When I change the start address in the copy routine on the cartridge
>> to $0810 off course the game doesn't start. But after that I only
>> have to give "RUN" and it works fine.
>
> Its been a while since I tried this sort of thing, but I used to stuff
> the keyboard buffer then end from the ML (warm basic start). The RUN
> would be typed and the program execute. I never worked out how to do
> it from ML, though you supposed to be abled to...

Make sure end of program pointers ($2d/$2e) and eventually last loaded byte
pointer ($ae/$af) are set to the real end of the program+1 once has been
moved, many unpackers rely on them to know how to unpack.
for example, if program fills $0801-$9000 inclusive

lda #<$9001
ldx #>$9001
sta $2d
sta $ae
stx $2c
stx $af

jsr $A659
jsr $A533
jmp $A7AE

no need to print or stuff anything.

--
-=[]=--- iAN CooG/HVSC & C64Intros ---=[]=-
Linking error. Your mistake is now in every file.


From: iAN CooG on
iAN CooG <GETianRIDcoog(a)OFemailME.it.invalid> wrote:

> stx $2c

typo, it's stx $2e =)

--
-=[]=--- iAN CooG/HVSC & C64Intros ---=[]=-