Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
38 user(s) are online (29 user(s) are browsing Forums)

Members: 0
Guests: 38

more...

Support us!

Headlines

 
  Register To Post  

« 1 (2)
Re: Introducing Gabrielle - Xena's companion
Not too shy to talk
Not too shy to talk


See User information
This might be "old news", but is does show one useful application:

I added an SD card and a serial port level shifter to a Xorro card. From the XMOS community I borrowed code fort a serial port and a filesystem for the SD card.

I set it up to capture and save all incoming text to the SD card, filename was generated by date and time. Then I hooked it up to the debug output of the X1000. Once it's "running", all debug output gets saved automatically.

You could browse and import the saved files to the Amiga or remove the card and read it from anything that can read SD cards.

Because it's independent of AmigaOS, it's capable of saving it all off even when the OS is having troubles.

Now, to make this more interesting: Both the X1000 serial port AND the serial on Xena are capable of WAY higher baud rates. The limiting part are the voltage level shifters. There's a small pin header on the X5000 that will let you pick up the serial output before that shifter, so it SHOULD be possible to run the serial speeds up as fast as the SD write routines can handle. I assume the X5000 serial port can also run faster..

Unfortunately I loaned out the Xorro board and it was never returned, so you'll have to take my word for it.

Granted it's not "rocket science", but saving debug without a second machine, and the possibility to run the debug so fast that any slowdown would be minimal.. Well, it's at least useful to programmers and beta testers!

Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
I've added an example of some Xena localbus communications here:
https://sourceforge.net/p/xena-examples/code/HEAD/tree/

It should build out of the box and work on X1000. It's not too much code, and it just implements a simple circular stack so should be relatively self-explanatory. Might try and write something up on the blog explaining some more about it.

svn checkout https://svn.code.sf.net/p/xena-examples/code/ xena-examples
cd xena-examples/stack
make run


Oh, and yeah, this doesn’t require any extra hardware, it should just work on the plain X1000. It won’t work on X5000 even if you got it on to that chip since the localbus interface is way different.


Edited by jaokim on 2026/1/11 12:32:14
Maintainer and developer for Jamiga2 - Java for Amiga
Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
@jaokim

I tried the latest XTools from your blog on my X5000/20.

This is the output. It does not seem to work fully and the tools can only be run once:

3. Workbench:Utilities/XTools XenaStatus
Warning
This set of XTools currently only tested on X1000
Setting up x5000
The support 
for X5000 is UNTESTED!
----------------------------------
If 
you'd like to continue, a few tests will be performed.

1. The first test is according to the X5000 Curys TRM.
   It seemed to work for one test. But then not.
2. The second test is based on loose assumptions on how
   AEons Tabor motherboard works.

The only reason you would want to run these tests is to
inform the developer on your progress.

You can abort this process now by pressing Ctrl-C and enter.

You will be asked to enter something to continue before each test.

 YOU HAVE BEEN WARNED. NO RESPONSIBILITY IS TAKEN WHEN RUNNING THIS SOFTWARE!

About to setup mem space. Enter something to continue...
asd
Creating Xena memory space for INDEX reg: e0000000
Creating Xena memory space for DATACHANNEL reg: e0008000
About to do test 1. Enter something to continue...
asd
--- Performing Test 1 ---
Res in SIG1 is dead. This is good.
Res in SIG2 is dead. It is not 0xBEEF. That'
s wrong.
Res in REG_HWREV (2is dead.
Writing D00F to scratch1
Writing BABE to scratch2
Read babe from scratch1 
(should be D00F)
Read babe from scratch2 (should be BABE)
About to do test 2.
Enter something to 
continue...
asd
--- Performing Test 2 ---
Res in SIG1 is babeIt should be 0xDEAD.
Res in SIG2 is bebeIt is not 0xBEEFThat's wrong. You should not continue.
Res in REG_HWREV (2) is beef.
Writing F0BB to scratch1
Writing D00D to scratch2
Read f0d0 from scratch1 (should be F0BB)
Read d00d from scratch2 (should be D0DE)
If you got good values back from test 1, things seem to work.
If you got good values back from test 2, things in the code have to change!
If you didn'
t get good valuesstuff will NOT work.
Press Ctrl-C to abort...

*** BREAK
3. Workbench:Utilities/XTools XenaStatus
Warning
This set of XTools currently only tested on X1000
Cannot allocate XTAGPORT resource
already used by XTAG Command line tools.


Hope this helps.

Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
@FlynnTheAvatar

Great, thanks for testing!

Seems I don't release the XTAG resource when doing Ctrl-C in that test. Regarding the reads and writes, I've seen similar result for another X5000 user, so it's good to see that it's the same for you.
I'm in contact with some other developers so I hope to get something working for X5000 soonish.

Maintainer and developer for Jamiga2 - Java for Amiga
Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
I've created a new test-version of XTools version for X5000.
It now tests a few calls with differing delays. The longest delay is 10 ticks, but it also tests with 2 and 5. If anyone could
you must read the X5000 section in XTools.txt in the archive to know how to test it. Archive is here: https://jaokim.github.io/files/XTools-1.7d.lha Very beta. I'm not responsible if anything breaks your machine.

Maintainer and developer for Jamiga2 - Java for Amiga
Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
@jaokim

Thanks a lot for the new version.

This is the result of XenaStatus:

WarningThis set of XTools currently only tested on X1000
Setting up x5000
The support 
for X5000 is UNTESTED!
----------------------------------
If 
you'd like to continue, a few tests will be performed.
They will be performed with a varying delay
betweeen the read and writes.

The only reason you would want to run these tests is to
inform the developer on your progress.

You can abort this process by entering '
q' at any testpoint.

You will be asked to enter something to continue before each test.

 YOU HAVE BEEN WARNED. NO RESPONSIBILITY IS TAKEN WHEN RUNNING THIS SOFTWARE!

Creating Xena memory space for INDEX reg: e0000000
Creating Xena memory space for DATACHANNEL reg: e0008000
About to do some tests.
Enter '
q' to quit, anything else to continue... 
a
-----------------------------------------------------
Performing test with delay 2, with read/write 0x8000 Delay(1)
with read/write 0x8000 Delay(1). Res in SIG1 is:   0xdead. Should be 0xdead
with read/write 0x8000 Delay(1). Res in SIG2 is:   0xdead. Should be 0xbeef.
with read/write 0x8000 Delay(1). Res in REG_HWREV: 0xdead.
with read/write 0x8000 Delay(1). Read scratch1:    0xf0cc (should be 0xf0cc)
with read/write 0x8000 Delay(1). Read scratch2:    0xd1d0 (should be 0xd1d0)
with read/write 0x8000 Delay(1). Again scratch1:   0xa12f (should be 0xabcd)
with read/write 0x8000 Delay(1). Again scratch2:   0xa12f (should be 0xa12f)
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0001 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0002 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0003 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0004 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000c is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000d is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0010 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0020 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0021 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0022 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0023 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0024 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x002f is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0030 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0031 is 0xa12f 1010000100101111
-----------------------------------------------------
Performing test with delay 5, with read/write 0x8000 Delay(1)
with read/write 0x8000 Delay(1). Res in SIG1 is:   0xa12f. Should be 0xdead
with read/write 0x8000 Delay(1). Res in SIG2 is:   0xa12f. Should be 0xbeef.
with read/write 0x8000 Delay(1). Res in REG_HWREV: 0xa12f.
with read/write 0x8000 Delay(1). Read scratch1:    0xf0cc (should be 0xf0cc)
with read/write 0x8000 Delay(1). Read scratch2:    0xd1d0 (should be 0xd1d0)
with read/write 0x8000 Delay(1). Again scratch1:   0xa12f (should be 0xabcd)
with read/write 0x8000 Delay(1). Again scratch2:   0xa12f (should be 0xa12f)
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0001 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0002 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0003 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0004 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000c is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000d is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0010 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0020 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0021 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0022 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0023 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0024 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x002f is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0030 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0031 is 0xa12f 1010000100101111
-----------------------------------------------------
Performing test with delay 10, with read/write 0x8000 Delay(1)
with read/write 0x8000 Delay(1). Res in SIG1 is:   0xa12f. Should be 0xdead
with read/write 0x8000 Delay(1). Res in SIG2 is:   0xa12f. Should be 0xbeef.
with read/write 0x8000 Delay(1). Res in REG_HWREV: 0xa12f.
with read/write 0x8000 Delay(1). Read scratch1:    0xf0cc (should be 0xf0cc)
with read/write 0x8000 Delay(1). Read scratch2:    0xd1d0 (should be 0xd1d0)
with read/write 0x8000 Delay(1). Again scratch1:   0xa12f (should be 0xabcd)
with read/write 0x8000 Delay(1). Again scratch2:   0xa12f (should be 0xa12f)
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0000 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0001 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0002 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0003 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0004 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000c is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x000d is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0010 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0020 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0021 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0022 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0023 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0024 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x002f is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0030 is 0xa12f 1010000100101111
with read/write 0x8000 Delay(1). REG:0x0031 is 0xa12f 1010000100101111
Tests done.
If you got good values back from test, things seem to work.
If there were good results for the IDOS->Delay(1) test, then you could continue to run
and stuff might work. If no good results were seen then you might as well abort now.
Enter '
q' to quit, anything else to continue...


The results are ... strange.

Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
@FlynnTheAvatar
Thanks for quick test!

They are indeed very strange. I don't know if there's some sort of weird caching issue... or have I done something totally weird. I'll see if i can come up with something new.

Maintainer and developer for Jamiga2 - Java for Amiga
Go to top
Re: Introducing Gabrielle - Xena's companion
Just popping in
Just popping in


See User information
A new version to test: https://jaokim.github.io/files/XTools-1.7e.lha
Maybe also do a reboot if this shows same or weirder results.

Maintainer and developer for Jamiga2 - Java for Amiga
Go to top

  Register To Post
« 1 (2)

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )



Polls
Running AmigaOS 4 on?
AmigaOne SE/XE or microA1 12% (26)
Pegasos2 3% (8)
X5000 22% (48)
X1000 14% (30)
A1222 8% (19)
Sam 440/460 18% (40)
Classic PowerPC Amiga 2% (6)
WinUAE emulation 7% (16)
Qemu emulation 9% (21)
Total Votes: 214
The poll closed at 2025/12/1 12:00
6 Comments


Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project