From: Joe Forster/STA on 21 Jun 2010 14:29 > 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 21 Jun 2010 14:50 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 21 Jun 2010 14:51
iAN CooG <GETianRIDcoog(a)OFemailME.it.invalid> wrote: > stx $2c typo, it's stx $2e =) -- -=[]=--- iAN CooG/HVSC & C64Intros ---=[]=- |