Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #1875
| Newsgroups | comp.sys.apple2.programmer |
|---|---|
| Date | 2015-10-18 00:56 -0700 |
| References | <b621706c-85ac-4d23-bc15-880f1a1d5a16@googlegroups.com> |
| Message-ID | <a294579d-1f21-4a5d-9bc0-cacb43db8a09@googlegroups.com> (permalink) |
| Subject | Re: Modern Apple II development options |
| From | John Brooks <jbrooks@blueshiftinc.com> |
Update on my progress attempting to do modern cross-dev of Apple IIGS code using OS X: The TL;DR summary is that I can now edit 65816 assembly source in Xcode and in 4 to 5 seconds see it running on the Apple IIGS using ADTPro & a USB serial cable. One thing to note is that my test program is pretty small: ~3000 lines of assembly & 6.5KB binary. For big code+data, I'm hoping the answer is "Uthernet II". :) Times in seconds on 2012 i7 rMacbook Pro: 0.08 Merlin32 assembly of 2 source files into one ProDOS8 BIN executable 0.02 Cadius time to delete the old BIN file from the virtual disk image and add the new BIN file to it 1.40 Quit ADTPro, then launch ADTPro via command line & select communication method 'serial' 1.00 Manually type "-r<return>" on the GS keyboard 1.50 Run the 6.5KB BIN file from the OS X virtual disk over RS-232 using ADTPro's VSDrive The above times are for normal code iteration. If my program crashes ProDOS8 and forces a reboot, the GS time is slightly longer: 3.50 Reboot the GS to /RAM5 which automatically mounts VSDrive and does -r to run the exec file The total time is 4-5 seconds which is much better than what I was doing before. The pieces: HW: USB to RS-232 & GS mini-DIN8 to RS-232. ADTPro - The data xfer workhorse. Merlin32 - Brutal Deluxe cross-assembler. Cadius - Brutal Deluxe utility to transfer files in & out of ProDOS disk images. Xcode - IDE used to edits asm src, though any editor would work. Terminal - Used to automate the build & xfer on OS X . b.sh - My shell script which assembles using Merlin32, copies the BIN to the disk image with Cadius, and launches ADTPro. GS: VSDrive - ADTPro serial-port virtual drive client. GS: r - My exec file to run the assembled BIN file directly off the mounted VSDrive. GS: startup - My basic program to handle reboots by installing VSDrive and running the exec file. The file contents: b.sh pkill -f java ~/bin/merlin32 . font.s ~/bin/cadius deletefile /Applications/ADTPro*/disks/Virtual.po /VDRIVE.2.0.1/FONT ~/bin/cadius addfile /Applications/ADTPro*/disks/Virtual.po /VDRIVE.2.0.1 FONT /Applications/ADTPro*/ADTPro.command serial& "r" GS exec file prefix,s2,d1 bload font,a$800,t$00 mtr 800g startup 10 ?chr$(4)"-vsdrive" 20 onerr goto 30 30 ?chr$(4)"-r" /RAM5 PRODOS BASIC.SYSTEM VSDRIVE STARTUP R The bumps in the road: I wanted to leave ADT running during my edit/asm/test cycle, but found I was unable to because ADT does not recognize changes made to the VDrive disk images by other OS X applications. I suspect it might be the java runtime caching file reads, but I'm not sure. Cadius can see changes to the disk image as soon as the GS+ADT perform the block write, but ADT is blind to Cadius changes. The only way I could get ADT to 'see' changes to the virtual disk was to shut it down and relaunch it. Which brings me to the next bump which is that when ADT is launched, it waits for the user to select the communication method. I needed to automate ADTPro's startup & connection method and found the handy ADT shell script "ADTPro.command" which does exactly that. However, there's a few odd things about launching via ADTPro.command: 1) Since the app is run via java, the dock icon becomes java and the app name becomes org.adtpro.ADTPro. 2) The about ADT menu reports the version as 1.0 instead of 2.0.1 3) ADT does not respond to quit appleevents so I resorted to a rather harsh process kill of java Another occasional problem is that sometimes after the ADTPro server starts up, the VDrive client will get an error on the initial connection attempt. That's why I added the onerr check, though it's really needed in the exec file, so I'll need to rework that a bit. Congratulations if you made it this far! Next steps are to get the build workflow integrated into the IDE, perhaps do a more proper set of makefile & shell/exec scripts, and explore getting the BIN filetype/auxtype/A$/L$ ProDOS attributes set correctly. Now that I think about it, perhaps ADT will 'see' changes to virtual disks made by AppleCommander since they're both using the java runtime. I'll try testing that tomorrow. -JB @JBrooksBSI
Back to comp.sys.apple2.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-12 13:48 -0700
Re: Modern Apple II development options Andy McFadden <thefadden@gmail.com> - 2015-10-13 09:16 -0700
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-13 11:08 -0700
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-13 19:09 +0000
Re: Modern Apple II development options Michael J. Mahon <mjmahon@aol.com> - 2015-10-13 14:21 -0500
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-13 19:39 +0000
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-13 16:48 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-13 17:03 -0700
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-13 22:04 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-13 21:09 -0700
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-13 21:51 -0700
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-14 11:41 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-14 09:36 -0700
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-14 11:32 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-14 09:13 -0700
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-14 18:04 -0400
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-15 20:07 +0000
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-15 13:35 -0700
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-15 22:45 +0000
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-17 11:36 +0000
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-16 08:12 -0400
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-17 11:34 +0000
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-17 11:59 +0000
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-17 11:43 -0400
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-19 20:01 +0000
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-15 19:37 +0000
Re: Modern Apple II development options David Schmidt <schmidtd@my-deja.com> - 2015-10-16 07:39 -0400
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-17 11:37 +0000
Re: Modern Apple II development options roughana@gmail.com - 2015-10-13 17:20 -0700
Re: Modern Apple II development options spectrumdaddy@nospam.com (Ewen) - 2015-10-15 07:47 +0100
Re: Modern Apple II development options spectrumdaddy@nospam.com (Ewen) - 2015-10-17 10:54 +0100
Re: Modern Apple II development options Hugh Hood <hughhood@earthlink.net> - 2015-10-13 23:42 -0500
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-13 22:18 -0700
Re: Modern Apple II development options olivier.zardini@itn-group.eu - 2015-10-14 04:17 -0700
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-14 14:42 -0700
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-14 13:42 +0000
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-14 09:11 -0700
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-14 22:23 +0000
Re: Modern Apple II development options Hugh Hood <hughhood@earthlink.net> - 2015-10-17 00:01 -0500
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-16 22:48 -0700
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-17 11:45 +0000
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-17 08:52 -0700
Re: Modern Apple II development options ol.sc@web.de (Oliver Schmidt) - 2015-10-19 20:11 +0000
Re: Modern Apple II development options Hugh Hood <hughhood@earthlink.net> - 2015-10-18 13:46 -0500
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-18 11:59 -0700
Re: Modern Apple II development options Antoine Vignau <antoine.vignau@laposte.net> - 2015-10-18 13:13 -0700
Re: Modern Apple II development options Hugh Hood <hughhood@earthlink.net> - 2015-10-18 19:05 -0500
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-18 22:55 -0700
Re: Modern Apple II development options Steven Hirsch <snhirsch@gmail.com> - 2015-10-19 09:52 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-19 08:34 -0700
Re: Modern Apple II development options Steven Hirsch <snhirsch@gmail.com> - 2015-10-19 12:58 -0400
Re: Modern Apple II development options olivier.zardini@cooperteam.fr - 2015-10-19 13:32 -0700
Re: Modern Apple II development options Steven Hirsch <snhirsch@gmail.com> - 2015-10-17 10:57 -0400
Re: Modern Apple II development options D Finnigan <dog_cow@macgui.com> - 2015-10-13 19:13 +0000
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-18 00:56 -0700
Re: Modern Apple II development options Kelvin Sherlock <email@domain.com> - 2015-10-19 15:31 -0400
Re: Modern Apple II development options John Brooks <jbrooks@blueshiftinc.com> - 2015-10-19 16:13 -0700
Re: Modern Apple II development options Kelvin Sherlock <email@domain.com> - 2015-10-24 13:58 -0400
csiph-web