User Tools

Site Tools


base:using_a_running_vice_session_for_development

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
base:using_a_running_vice_session_for_development [2016-06-28 20:27] – [Setting up the client side] compyxbase:using_a_running_vice_session_for_development [2016-06-30 14:44] compyx
Line 141: Line 141:
 Again, this becomes tedious, having to type this again and again, so we update our Makefile (just the new parts for now): Again, this becomes tedious, having to type this again and again, so we update our Makefile (just the new parts for now):
 <code make> <code make>
 +ASM=64tass
 +
 +
 # Default make target: just assemble the program: # Default make target: just assemble the program:
 all: demo.prg all: demo.prg
Line 147: Line 150:
 # Assemble program # Assemble program
 demo.prg: demo.s demo.prg: demo.s
-        $(X64) -a -C -o demo.prg demo.s+        $(ASM) -a -C -o demo.prg demo.s
  
  
Line 177: Line 180:
 <code make> <code make>
 # x64 binary # x64 binary
-X64 = /usr/local/bin/x64+X64=/usr/local/bin/x64 
 +# Assembler 
 +ASM=64tass
  
 # Original KERNAL # Original KERNAL
Line 194: Line 199:
 # Assemble program and output VICE labels file # Assemble program and output VICE labels file
 demo.prg: demo.s demo.prg: demo.s
-        $(X64) -a -C -o demo.prg demo.s --vice-labels -l labels.txt+        $(ASM) -a -C -o demo.prg demo.s --vice-labels -l labels.txt
  
  
Line 230: Line 235:
 Since we bypass the C64's OS (the BASIC interpreter), when we execute code using the above method, the C64 doesn't know we executed a program and keeps the IRQ of the interpreter running, resulting in a nice blinking cursor. Since we bypass the C64's OS (the BASIC interpreter), when we execute code using the above method, the C64 doesn't know we executed a program and keeps the IRQ of the interpreter running, resulting in a nice blinking cursor.
  
-So we need a way to do a proper 'RUN' after injecting our program. We can do this with a simple SYS line and some tweaking of the BASIC end-of-program pointer and keyboard buffer.+So we need a way to do a proper 'RUN' after injecting our program. We can do this with a simple SYS line and some tweaking of the <del>BASIC end-of-program pointer and</del> keyboard buffer.
  
 Let's assume our demo.s looks like this: Let's assume our demo.s looks like this:
Line 257: Line 262:
 # load binary # load binary
 echo 'l "demo.prg" 0' localhost 6510 echo 'l "demo.prg" 0' localhost 6510
-# patch end-of-basic pointer 
-echo 'f 002d 002e 0d 08' | netcat localhost 6510 
 # put 'RUN\r' into the keyboard buffer # put 'RUN\r' into the keyboard buffer
 echo 'f 0277 027a 52 55 4e 0d' | netcat localhost 6510 echo 'f 0277 027a 52 55 4e 0d' | netcat localhost 6510
Line 269: Line 272:
 # x64 binary # x64 binary
 X64 = /usr/local/bin/x64 X64 = /usr/local/bin/x64
 +# Assembler
 +ASM=64tass
  
 # Original KERNAL # Original KERNAL
Line 285: Line 290:
 # Assemble program and output VICE labels file # Assemble program and output VICE labels file
 demo.prg: demo.s demo.prg: demo.s
-        $(X64) -a -C -o demo.prg demo.s --vice-labels -l labels.txt+        $(ASM) -a -C -o demo.prg demo.s --vice-labels -l labels.txt
  
  
Line 297: Line 302:
         # load demo.prg from the virtual FS, our host OS         # load demo.prg from the virtual FS, our host OS
         echo 'l "demo.prg 0"' | netcat localhost 6510         echo 'l "demo.prg 0"' | netcat localhost 6510
-        # set end-of-basic pointer 
-        echo 'f 002d 002e 0d 08' | netcat localhost 6510 
         # put 'RUN\r' into the keyboard buffer         # put 'RUN\r' into the keyboard buffer
         echo 'f 0277 027a 52 55 4e 0d' | netcat localhost 6510         echo 'f 0277 027a 52 55 4e 0d' | netcat localhost 6510
base/using_a_running_vice_session_for_development.txt · Last modified: 2016-07-01 13:35 by compyx