Discussion:
Jace updates
(too old to reply)
BLuRry
2016-11-05 16:04:24 UTC
Permalink
After switching back to Windows, I found that some things in Jace were not working as well as they had in other platforms. I have updated Jace with the following:

- ACME assembly now works on Windows: NestedVM was internally not handling windows paths correctly so this was breaking the JUnit build tests on Windows as well as trying to assemble from the IDE (ctrl+shift+i to invoke)

- Applesoft programs now run without crashing when editing from the IDE. I wasn't clearing the variable state correctly and that was causing variables to overwrite the program (whoops!) Thanks to all who reported it. It's fixed now. You can now use JACE to enter very, very long applesoft lines if you want but remember you still have a 256 token/character limit (I think...)

On my surface book, I'm not getting sound so that will be the next thing to be fixed it would seem. :)

The latest 2.0-Stable build can be found here:
https://github.com/badvision/jace/releases
BLuRry
2016-11-20 14:57:25 UTC
Permalink
There was a bug when you used the IDE to enter basic programs they would run fine but not save correctly. That has been fixed. That resolves the ide issues that I am presently aware of.
John Public
2016-12-03 23:21:03 UTC
Permalink
Post by BLuRry
https://github.com/badvision/jace/releases
I forgot how to write a 6502 trace to disk and can't seem to find it in the
documentation. Thanks. :)
John Public
2017-02-08 00:14:25 UTC
Permalink
Post by John Public
Post by BLuRry
https://github.com/badvision/jace/releases
I forgot how to write a 6502 trace to disk and can't seem to find it in the
documentation. Thanks. :)
So does anyone know what it is? I want to write a 6502 trace to my hard drive.
BLuRry
2017-02-20 05:22:39 UTC
Permalink
Post by John Public
Post by John Public
Post by BLuRry
https://github.com/badvision/jace/releases
I forgot how to write a 6502 trace to disk and can't seem to find it in the
documentation. Thanks. :)
So does anyone know what it is? I want to write a 6502 trace to my hard drive.
Oh, stupid emulation author didn't follow his own post to see your question (SORRY) You have two options:

1) From the CPU config (ctrl+shift+C) you can enable trace to STD OUT and even give it a limit how many opcodes to trace. This is kind of a hassle because everything slows to a crawl the moment it is on.
2) Using new hidden/undocumented features (see recent 2.0-stable release) insert this special command in your code which will look like a NOP on a regular 65c02 or any other emulator, but will actually tell JACE to start trace, as well as other commands:
FC 65 00: Turn on trace
FC 65 01: Turn off trace
FC 50 xx: Print #xx to std out
FC 5B xx: Println #xx to std out
FC 5C xx: Print chr(xx) to std out

This is because FC looks like a NOP which also matches the decode pattern for an absolute address mode, taking two additional bytes (which are usually read but ignored by the real chip) So with that JACE can repurpose the NOP as an external command hook. :) There's also some hooks to get memory to dump all the softswitch states to STDOUT if anyone wants it for debugging purposes.

-B
BLuRry
2017-02-20 18:05:33 UTC
Permalink
Post by BLuRry
Post by John Public
Post by John Public
Post by BLuRry
https://github.com/badvision/jace/releases
I forgot how to write a 6502 trace to disk and can't seem to find it in the
documentation. Thanks. :)
So does anyone know what it is? I want to write a 6502 trace to my hard drive.
1) From the CPU config (ctrl+shift+C) you can enable trace to STD OUT and even give it a limit how many opcodes to trace. This is kind of a hassle because everything slows to a crawl the moment it is on.
FC 65 00: Turn on trace
FC 65 01: Turn off trace
FC 50 xx: Print #xx to std out
FC 5B xx: Println #xx to std out
FC 5C xx: Print chr(xx) to std out
This is because FC looks like a NOP which also matches the decode pattern for an absolute address mode, taking two additional bytes (which are usually read but ignored by the real chip) So with that JACE can repurpose the NOP as an external command hook. :) There's also some hooks to get memory to dump all the softswitch states to STDOUT if anyone wants it for debugging purposes.
-B
Here's an example using the NOP Special modes. The program itself is still quite broken but the output to STDOUT works. I'm still trying to get this mockingboard driver to work but at least now I can keep better tabs on what it's doing before going kaput!

https://gist.github.com/badvision/837c8e2449b449069c3b
John Public
2017-02-20 22:01:57 UTC
Permalink
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF

I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Steve Nickolas
2017-02-20 23:18:47 UTC
Permalink
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).

-uso.
John Public
2017-09-02 10:21:09 UTC
Permalink
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Steve Nickolas
2017-09-02 21:24:50 UTC
Permalink
Post by John Public
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Add ">filename.ext" to the end of the command line?

-uso.
John Public
2017-09-03 10:03:55 UTC
Permalink
Post by Steve Nickolas
Post by John Public
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Add ">filename.ext" to the end of the command line?
-uso.
Steve, if it were that simple, I wouldn't be on here asking.
Here is the output:

Maximum output lines: -1
Allocated output lines: 0
Getting source line from Primary Sound Driver, version Unknown Version: PCM_SIGNED 48000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian
Set property Computer (Apple //e).card6 to disk
Set property Disk ][ Controller (slot 6).disk1 to c:\ddial\ddial.dsk
John Public
2017-09-03 10:06:02 UTC
Permalink
Post by John Public
Post by Steve Nickolas
Post by John Public
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Add ">filename.ext" to the end of the command line?
-uso.
Steve, if it were that simple, I wouldn't be on here asking.
Maximum output lines: -1
Allocated output lines: 0
Getting source line from Primary Sound Driver, version Unknown Version: PCM_SIGNED 48000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian
Set property Computer (Apple //e).card6 to disk
Set property Disk ][ Controller (slot 6).disk1 to c:\ddial\ddial.dsk
Oh, and Steve.....
This is from an earlier message.

BlUrRy,
For the life of me, I can't remember how to do it.
I haven't anything in the documentation either.
I tried this:

C:\Progra~1\Java\jre1.8.0_141\bin\java -jar jace.jar -cpu.trace -computer.debugrom -computer.s6card disk -s6.d1 C:\DDIAL\DDIAL.DSK

and I do see a trace running in the dos window. I've tried using
Post by John Public
ddial.txt to send the output to disk but it doesn't work.
Also, CTRL-SHIFT-D does nothing. Any advice?
Steve Nickolas
2017-09-03 20:28:40 UTC
Permalink
Post by John Public
Post by John Public
Post by Steve Nickolas
Post by John Public
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Add ">filename.ext" to the end of the command line?
-uso.
Steve, if it were that simple, I wouldn't be on here asking.
Maximum output lines: -1
Allocated output lines: 0
Getting source line from Primary Sound Driver, version Unknown Version: PCM_SIGNED 48000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian
Set property Computer (Apple //e).card6 to disk
Set property Disk ][ Controller (slot 6).disk1 to c:\ddial\ddial.dsk
Oh, and Steve.....
This is from an earlier message.
BlUrRy,
For the life of me, I can't remember how to do it.
I haven't anything in the documentation either.
C:\Progra~1\Java\jre1.8.0_141\bin\java -jar jace.jar -cpu.trace -computer.debugrom -computer.s6card disk -s6.d1 C:\DDIAL\DDIAL.DSK
and I do see a trace running in the dos window. I've tried using
Post by John Public
ddial.txt to send the output to disk but it doesn't work.
Also, CTRL-SHIFT-D does nothing. Any advice?
Well, I guess if adding >ddial.txt on the command line doesn't work, maybe
2>ddial.txt will? Though that seems odd, why would it write the trace to
stderr instead of stdout?

-uso.
John Public
2017-09-03 20:44:15 UTC
Permalink
Post by Steve Nickolas
Post by John Public
Post by John Public
Post by Steve Nickolas
Post by John Public
Post by Steve Nickolas
Post by John Public
Blurry, I don't need stdout. it goes too fast for me to read anyway.
There was a way to write a 6502 trace to disk and I don't remember what it was.
It wrote something like this if I remember right
A X Y SP
00 FF 00 01FF 1800 A2 FF LDX #$FF
I don't remember and that's what's frustrating me right now.
I want to dump a trace file to disk as ddial is running.
Well, stdout can be redirected, that's what > is for (both on Windows and
*x).
-uso.
I still can't remember the command to do it. I need to write a trace to disk steve, having it scroll by at warp 9 does nothing for me.
Add ">filename.ext" to the end of the command line?
-uso.
Steve, if it were that simple, I wouldn't be on here asking.
Maximum output lines: -1
Allocated output lines: 0
Getting source line from Primary Sound Driver, version Unknown Version: PCM_SIGNED 48000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian
Set property Computer (Apple //e).card6 to disk
Set property Disk ][ Controller (slot 6).disk1 to c:\ddial\ddial.dsk
Oh, and Steve.....
This is from an earlier message.
BlUrRy,
For the life of me, I can't remember how to do it.
I haven't anything in the documentation either.
C:\Progra~1\Java\jre1.8.0_141\bin\java -jar jace.jar -cpu.trace -computer.debugrom -computer.s6card disk -s6.d1 C:\DDIAL\DDIAL.DSK
and I do see a trace running in the dos window. I've tried using
Post by John Public
ddial.txt to send the output to disk but it doesn't work.
Also, CTRL-SHIFT-D does nothing. Any advice?
Well, I guess if adding >ddial.txt on the command line doesn't work, maybe
2>ddial.txt will? Though that seems odd, why would it write the trace to
stderr instead of stdout?
-uso.
Not sure, all I know is, there was a way to do it. I don't know if it's because I have the latest Jace or not. Maybe it doesn't work anymore?
James Davis
2017-09-04 01:37:55 UTC
Permalink
Don't know anything about this subject, but, at the risk of "sticking my foot in my mouth" again, and because not everyone always thinks of the obvious things, I'll put in my two cents, too.

After reading this thread up to this point, I wonder:

1) if you have tried using a fully qualified pathname; and

2) while analyzing the Old Monitor ROM, I came across this warning about the Old DOS--from What's Where in the Apple--but it might not be true for ProDOS:

(My "Apple II Equates" version)
STATUS EQU $48 ;[OM] USER P-REG (AKA: STATUS REGISTER): SAVED HERE
; ON BRK TO MONITOR & DURING TRACE & BY MONITOR
; SAVE ROUTINE; WARNING: INITIALIZE BEFORE MON-
; ITOR GOTO (G) FUNCTION TO AVOID DECIMAL MODE
; IF DOS HAS BEEN USED.

Hope this helps,

James Davis
James Davis
2017-09-04 01:40:51 UTC
Permalink
Post by James Davis
Don't know anything about this subject, but, at the risk of "sticking my foot in my mouth" again, and because not everyone always thinks of the obvious things, I'll put in my two cents, too.
1) if you have tried using a fully qualified pathname; and
(My "Apple II Equates" version)
STATUS EQU $48 ;[OM] USER P-REG (AKA: STATUS REGISTER): SAVED HERE
; ON BRK TO MONITOR & DURING TRACE & BY MONITOR
; SAVE ROUTINE; WARNING: INITIALIZE BEFORE MON-
; ITOR GOTO (G) FUNCTION TO AVOID DECIMAL MODE
; IF DOS HAS BEEN USED.
Hope this helps,
James Davis
OOPS, I may have put this in the wrong thread!
John Public
2017-10-06 20:31:27 UTC
Permalink
Post by BLuRry
- ACME assembly now works on Windows: NestedVM was internally not handling windows paths correctly so this was breaking the JUnit build tests on Windows as well as trying to assemble from the IDE (ctrl+shift+i to invoke)
- Applesoft programs now run without crashing when editing from the IDE. I wasn't clearing the variable state correctly and that was causing variables to overwrite the program (whoops!) Thanks to all who reported it. It's fixed now. You can now use JACE to enter very, very long applesoft lines if you want but remember you still have a 256 token/character limit (I think...)
On my surface book, I'm not getting sound so that will be the next thing to be fixed it would seem. :)
https://github.com/badvision/jace/releases
Quite odd, but the >2 did it. Not sure why though. I have to delete the date etc. from the trace but that's no biggie.
Ivan Drucker
2023-11-27 00:01:07 UTC
Permalink
Post by BLuRry
- ACME assembly now works on Windows: NestedVM was internally not handling windows paths correctly so this was breaking the JUnit build tests on Windows as well as trying to assemble from the IDE (ctrl+shift+i to invoke)
- Applesoft programs now run without crashing when editing from the IDE. I wasn't clearing the variable state correctly and that was causing variables to overwrite the program (whoops!) Thanks to all who reported it. It's fixed now. You can now use JACE to enter very, very long applesoft lines if you want but remember you still have a 256 token/character limit (I think...)
On my surface book, I'm not getting sound so that will be the next thing to be fixed it would seem. :)
https://github.com/badvision/jace/releases
I just went looking around for this, but on the GitHub project page, there are no releases, only a couple of tags which contain source code only. Any chance of putting it back up, or has JACE 2.0 been retired except for those intrepid enough to build it?
Bill Chatfield
2023-12-11 17:53:13 UTC
Permalink
On Sun, 26 Nov 2023 16:01:07 -0800 (PST)
Post by Ivan Drucker
I just went looking around for this, but on the GitHub project page,
there are no releases, only a couple of tags which contain source
code only. Any chance of putting it back up, or has JACE 2.0 been
retired except for those intrepid enough to build it?
I have created a precompiled Jar file, for those users who are not Java
developers and don't want to figure out how to compile it. In general,
I don't understand what the point of source-only releases which just
force EVERY user to spend the time and frustration to figure out how to
compile it, when it can just be done once by the owner.

https://github.com/gungwald/jace/releases/tag/2023-12-11_12-42

You need JavaFx 1.8 installed. There are problems with the UI. But,
there it is.
John Public
2023-12-13 23:28:06 UTC
Permalink
Hi BluRrY,
It's me again,. ddial pain in the can. :)
I think I found a bug.
Here's the deal.
You add modems to ddial and the program runs as normal.
However if you assign say port 2301 to modem 1,
then assign 2302 to modem 2, the port changes for both modems.
So if you do it for all 7, the port will be the same for all.
Is this by design? D-DIal used a hunting feature offered by the phone
company. However for TCP/IP you'd need 7 individual ports.
Thanks again. :) Yer favorite ddial pain in the can. Merry Christmas.
Post by BLuRry
- ACME assembly now works on Windows: NestedVM was internally not handling windows paths correctly so this was breaking the JUnit build tests on Windows as well as trying to assemble from the IDE (ctrl+shift+i to invoke)
- Applesoft programs now run without crashing when editing from the IDE. I wasn't clearing the variable state correctly and that was causing variables to overwrite the program (whoops!) Thanks to all who reported it. It's fixed now. You can now use JACE to enter very, very long applesoft lines if you want but remember you still have a 256 token/character limit (I think...)
On my surface book, I'm not getting sound so that will be the next thing to be fixed it would seem. :)
https://github.com/badvision/jace/releases
Loading...