Enterprise Forever

:UK => Hardware => Topic started by: gflorez on 2018.October.27. 14:12:42

Title: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2018.October.27. 14:12:42
Hans Tillema, from TMTLogic, commited by Prodatron, is on the final stages of development of  an all in one card for CPC computers named SymbiFace in his third reincarnation.

It will have the following features:

"Do you think there is a demand for this card for the Enterprise?
will cost around € 89

2mb ram
512kb rom flasable
mp3
codec voip
tmtnet
rtc
oled
fat32 usb stick
usb mouse

and more.."

"I have forgotten
wifi
sd card for roms an internal storage"
Title: Re: SymbiFace3 is near your Enterprise...
Post by: tofro on 2018.October.27. 14:21:39
"Do you think there is a demand for this card for the Enterprise?
will cost around € 89

Now, that's a bit of a silly question with an obvious answer: YES

Tobias
Title: Re: SymbiFace3 is near your Enterprise...
Post by: weirdocollector on 2018.October.27. 15:38:35
YESYESYESYESYESYESYES!! :)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: szipucsu on 2018.October.27. 20:14:25
Gflorez from Spain, Tofro from Germany, Weirdocollector from Italy. Great to see people here from all over the world.

Is Symbiface the name of the card? My first thought was using Facebook with SymbOS but I don't think it is true. :D
Title: Re: SymbiFace3 is near your Enterprise...
Post by: geco on 2018.October.27. 20:24:12
Yes :)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2018.October.27. 21:25:41
Simply, if you search "symbiface" on Google you can find a description of the former version, SimbiFace II (http://www.cpcwiki.eu/index.php/SYMBiFACE_II).

There wasn't a first version, but something named CPC IDE made by a German developer named DR. ZED aided by CPC users Octoate, TFM and Tolkin.

The SymbiFace II was a modernization of the CPC IDE, committed by Prodatron to DR. ZED.

All the features of the SymbiFace II where implemented on the CPC port of SymbOS, so this time Prodatron will do the same with the added characteristics.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Dr.OG on 2018.October.28. 05:29:13
Will this use the USB-stick as a mass storage device? If so, I'm interested in one, as have still no SD-card interface for my beloved EP...
Title: Re: SymbiFace3 is near your Enterprise...
Post by: John Fante on 2018.October.28. 05:46:25
The answer is YES :-D
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2018.October.28. 19:08:22
Hans adds this:

"The final shape of the SymbiFace for the Enterprise will be dependent on what you want, with which ICs will it be built.

The firmware for the CPC is almost ready to test so, I think that  the development for the Enterprise will also be brief.

I will need a lot of information and help writing the Enterprise ROMs and applications, however, the CPC Z80 source code will be available from the developers.

I could also add a second SD card and, if 2mb Ram is not so important, I can add more memory for Roms. I can adjust it.

I also can remove the USB mouse as you have your own standard, and possibly these changes will make the card cheaper.

The goal is to not reach more expensive than the quoted price"
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.February.04. 16:08:08
This (https://youtu.be/BIx_pvOov9w) a Youtube video where Hans shows us the SymbiFace CPC nearly finished.

He will present it on a CPC convention in March this year. He claims that once done he will have the 95% of the work done for the Enterprise SymbiFace....

List of the specs:

Microcontroller:    Cortex -M7 216 MHZ
RAM:        2 MB
ROM/FLASH        2 MB
USB Host         Hid Mouse
USB Host         Fat32 mass storage device
AUDIO         MP3 Player
AUDIO         recorder  / prepare for VOIP
WIFI        IOT moudule / MQTT
RTC         +Battery
VU        stereo level indicator
CPC 464        Extern memory hack
JTAG        onboard
MEASUREMENTS    Power 5v, ARM temp, RTC batt
SD Card        for internal system storage        
OLED
BUZZER

Prodatron is busy with the SymbOS drivers.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Tutus on 2019.February.06. 09:23:13
Good stuff! :)
We are waiting for the Enterprise version :D
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.February.06. 09:51:59
I'm very like the sound leds! :-)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.February.16. 23:23:09
I didn't understand Hans on his list.... he was asking.....


 He proposes us now:

what are your wishes....

No usb hid

No ram

Usb msd?

Wifi?

Seone

Mp3

Or anothee hardware

Lcd big screen or oled

Tft

Ir

Infra red remote

Sound dsp

Radio

HAHA

He want us to  debate to put or remove devices on the SymbiFace list, you even can propose other or others. The SymbiFace for Enterprise can be even more complete than the CPC version. A new project that will take advantage of his previous work.

SymbiFace for CPC has, for example an USB HID, that means a way to connect a lot of control devices to the computer, including mice, keyboards, joysticks and more. This is more necessary on a CPC, that doesn't have a mouse standard due to the lack of +5v on the joystick ports. Prodatron will give support on SymbOS to HID, but on EXOS we would need a new driver for every demanded device. Do we need HID?

About memory, Hans can add it on all its forms, but, how much?

SE-ONE(MP3) included, of course..... with Radio.... and DSP.

USB MSD(massive storage device), of course...

WIFI... it can be amazing.... or unnecessary?

He also proposes a LCD, OLED or TFT display to see what we have set on the interface.

IR(Infra Red control) . With it we could use the interface as a stand alone Hifi set while we do another different thing on the Enterprise... Interesting, but not my priority.



What are your more craved desires?(reasonable please).

Edit: one option I would add is, at the same time direct connexion and as expansion on a Bus Expander. To do this only is needed +5v generation on the PCB.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Z80System on 2019.February.17. 09:25:53
Quote
The answer is YES :-D

Most probably, the question for this answer was about EXOS and not SymbOS.

Am I correct ?

So yes, the storages can be used by SymbOS,
but maybe the question was about ordinary EXOS/EXDOS usage for loading ordinary (not SymbOS based) stuff (,as well).
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.February.17. 09:52:00
Thanks to Zozo, having a driver for another massive storage is the easier of all the aspects.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.February.17. 19:56:07
Really, the list of specs is important to Hans.

What if somebody creates a similar thread on the Hungarian side?
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.March.06. 18:15:39
Hans, from TMTLogic, has released a preliminary manual for the CPC SymbiFace. All its functions can be managed from simply Basic, like on his other creations.

[attach=2]

Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.March.18. 00:35:58
Yesterday, the anual SymbOS developers meeting was held at Kirchen(Germany). The main point was the imminent release of the SimbiFace3 for the CPC range of computers.

Hans wrote:

It was nice in Kirchen.

Jorn(Prodatron), sos, sinning, and tfm now have version 2.1(of SymbiFace 3).

Now we have 4 weeks for test it and fix bugs.

[attach=1]

We must  talk about an adapter(temporary, only for testing purposes) between CPC and Enterprise soon, then you can use the SF3 on the Enterprise.



About this I want to concrete where the SYMbiFace3 ports will go on the Enterprise.

On the planed SymbiFace3 for MSX the 20-27 ports are used for SE-ONE  and 40-4F for the SF3. On the CPC range they can use 16bit ports addressing, so they have taken FF20-FF27 and FD40-FD4F  ranges  to avoid collisions with old hardware.

Using FF20-FF27 and FD40-FD4F on a MSX computing is like using 20-27 and 40-4F, because only the lower byte is used, so it can be easy for Prodatron to unify every app used by SymbiFace3 on SymBOS.

We have a problem on the Enterprise with the 40-4F range, it is used by the Spectrum emulator. But we also have a problem with 16bit port addressing, as we can only use 14bit addressing, and only on "virgin" ports, because Dave's pagination corrupts bits 14 and 15, and traditionally the classic hardware have only used the lower byte, producing mirror ports on all the 16bit boundaries.

If we still opt to use the 14bit port addressing we can't use the FFXX or FDXX range as on the CPCs.

In this situation, Prodatron will be forced to modify all the code to suit our computer apps versions, because the SymbiFace3 ports need to be moved to an unused range on an Enterprise.

Or we can use the same 40-4F range for SF3, knowing that it will not work at the same time with the Spectrum Emulator.

What do you think?

------------

Another doubt. By now I can easily manage the SE-ONE and GFX-NINE MSX cartridges from IS-Basic, because I use 8bit port addressing, but I don't know if IS-Basic will cope with 16bit port addressing.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.March.18. 20:16:09
I think most of us can live without the hw Spectrum Emulator compatibility :-) It is also need a modernized version (with GAL or CPLD), then easy to move to other address, just need a recompile the ROM.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.March.18. 20:36:39
I agree, but I didn't want to force other users. I thing that the SymbiFace3 can offer a lot more to us if it shares the same ports on the three platforms, MSX, CPC and Enterprise.

I am going to say it to Hans. Thanks.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.10. 12:23:39
I've just received the SF3 for CPC. It is an earlier version, without WIFi and MP3, but good to interface and test on the Enterprise.

[attach=1]
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.11. 21:21:13
SF3 Working!

[attach=1]
Title: Re: SymbiFace3 is near your Enterprise...
Post by: pear on 2019.April.12. 05:47:22
Where do you get so much time to play ? Envy :shock:
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.12. 08:20:45
On lunch time..... I have my Enterprises at work....
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.April.12. 09:48:30
Where do you get so much time to play ?
I think the days much longer in Spain :lol:
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.12. 11:12:43
This adapter has taken me less time, I had the PCB and connectors made the day before yesterday.

I had luck with the leads yesterday, whitout errors and only some pull-ups.

I use sections of connectors to make my dirty prototypes...
Title: Re: SymbiFace3 is near your Enterprise...
Post by: pear on 2019.April.12. 11:21:33
Dirty, beauty ... the most important that it's working.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.26. 12:12:49
This Holly Week I have been doing a very different thing with the SF.

One of the 4 platforms that can run SymbOS is the Amstrad PCW series (http://www.habisoft.com/pcwwiki/doku.php?id=en:start), CP/M native machines, intended more as electronic write machines than for computing.

(http://www.habisoft.com/pcwwiki/lib/exe/fetch.php?w=300&tok=432c7e&media=hardware:pcw-8256.jpg)

With green or white mono-colour screens, they came in a pack with a printer, so they where a cheap ready-to-work equipment that sold 8 millions of units on all the world, competing with the much more expensive similar PCs approach.

Here in Spain it was the choice of a lot of humble business, and there where software houses specialised on program commercial programs for the PCW platform.  


I have a friend nicknamed Habi that is a Guru of this computer. He even has programmed a simulator of the computer, named CP/M BOX (http://www.habisoft.com/pcw/).

Returning to the start of this post, this weekend I have successfully connected the SF3 to the PCW expansion bus. As you know, I am not so skilled, so I asked for aid to Hans and Habi to accomplish it. I can follow a schematic, so the first thing was to think on how to connect them. First I made a simple bridge card with the two connectors, soldered to a bread-board pcb.

[attach=1]
[attach=2]
[attach=3]

observe the unusual vertical way of the PCW expansion connector.

Then I started with the technical side...

Like the Enterprise, the PCW only uses the lower 8 bit Z80 ports not caring for the rest of the 16 bit ports and the higher byte signals, but its hardware uses almost all the 256 ports range. This, added to a variety of add-ons that where offered on its time, leaves only a few "virgin" ports to use with this project.

What can be done? Habi offered a neat solution: swapping bytes... but this can only work with "virgin" ports. Happily there are still a few unused ports on the BXh range.

I have just used that B0 port to try my interface. The trick is to use the MSB of the 16bit port as the working 8bit port, leaving the LSB fixed as B0h. This gives us a totally new 256 ports range to use...

But this swap has to be interpreted also on the adapter. We take the A0-A7 signals and then swap them with the A8-A15 ones. Easy, isn't it?

There are other complications, of course, the external CPC hardware can't be commanded from the B0XXh port range, as it needs 16bit de-codification, we have to change its MSB for it to work. Hans hinted me to use a 74l688 on the higher A8-A15 signals to give /IORQ only when B0h on them. Once done we can put on A8-A15 what we want.

[attach=4]

The SF3 uses the FD4Xh range of ports, inherited from the first SF. But the SE-ONE (the SF3 has one inside...) uses the FF2Xh range. So I can command the SF3 if I fix the A8-A15 signals to 11111111(FFh, all +5v) or 11111101(FD, all +5v but A9 to ground). I made the selection with a jumper, but my SF3 is an early prototype that lacks the SE-ONE and the WIFI.


There where other software problems: Basic interpreters deal usually with only the first 256 Z80 ports, so Habi gave me an example of how to manage 16 bit ports with a short machine code subroutine in Mallard Basic, the interpreter  used on the PCW.

Mallard Basic is like Microsoft Basic but earlier, so it was easy to transcribe my EP examples to it, with the aid of the manual, of course.

This is my first working try.

[attach=5]
[attach=6]
[attach=7]
[attach=8]
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.April.26. 21:05:17
It would be great begin to integrate the different aspects of the SF3 on EXOS.

One of them can be the RTC. It can be easily accessed by INs and OUTs:

Code: [Select]
 100 PROGRAM "OLEDTIME.BAS"
  110 TEXT 80
  120 LET C=0
  130 LET A=IN(65)
  140 IF A=1 THEN GOTO 130! ready?
  150 OUT 65,101 ! read time command
  160 LET A=IN(65)
  170 IF A=1 THEN GOTO 160! ready?
  180 LET A$=STR$(IN(66))
  190 IF LEN(A$)=1 THEN LET A$="0"&A$ !pick hour
  200 LET B$=STR$(IN(66))
  210 IF LEN(B$)=1 THEN LET B$="0"&B$  !pick minutes
  220 LET C$=STR$(IN(66))
  230 IF LEN(C$)=1 THEN LET C$="0"&C$ !pick seconds
  240 LET A$=A$&":"&B$&":"&C$
  250 IF C=0 THEN
  260   TIME A$
  270   LET C=1
  280 END IF
  290 WAIT DELAY 1
  300 LET A=IN(65)
  310 IF A=1 THEN GOTO 300! ready?
  320 OUT 65,0:OUT 65,200! clean buffer and OLED screen
  330 LET A=IN(65)
  340 IF A=1 THEN GOTO 330! ready?
  350 OUT 66,0:OUT 66,30:OUT 66,18! X,Y, Font
  360 FOR B=1 TO LEN(A$)
  370   OUT 66,ORD(A$(B:B))! add character to the text string
  380 NEXT B
  390 OUT 65,210! execute print command on the OLED
  400 GOTO 130

This simple listing prints the time on the Enterprise screen and on the SF3 OLED screen.

But there are other commands on the SF3 to manage the RTC:

Code: [Select]
F100  Set time   hour minute sec
F101  Get time   hour minute sec
F102  Reset RTC
F103  Get time BCD hour minute sec
F104  Get date BCD day month year
F110  Set date   day month year  
F111  Get date   day month year  

Some examples(CPC Basic, discard the upper byte of the address):

Code: [Select]
F100  Set time   hour minute sec
 
100 call ARM ready
  110 out &FD41,0        reset buffer pointers 0
  120 out &FD42, hours      hours 0 - 23
  130 out &FD42, minutes      minutes  0 - 59
  140 out &FD42, seconds      seconds  0 - 59
  150 out &FD41,100        function set time
  160 call ARM response
 
F101  Get time   hour minute sec
 100 call ARM ready
  
  110 out &FD41,101        active function
  120 call ARM response
 
  130 print inp(&FD42)      hours   0-23
  140 print inp(&FD42)      minutes   0-59
  150 print inp(&FD42)      seconds  0-59
  
 
F102  Reset RTC
  Note: Only needed when are problem with the time and date, all value are 0 !
 
100 call ARM ready
  110 out &FD41,102        active function  
  120 call ARM response
 
F103  Get time BCD hour minute sec
 
100 call ARM ready
  110 out &FD41,103        active function
  120 call ARM response
 
  130 print hex$(inp(&FD42))      hours   0-23
  140 print hex$(inp(&FD42))      minutes   0-59
  150 print hex$(inp(&FD42))      seconds  0-59
  
 
F104  Get date BCD day month year  
 
100 call ARM ready
  110 out &FD41,104        active function  
  120 call ARM response
 
  130 print hex$(inp(&FD42))      day   1-31
140 print hex$(inp(&FD42))      month  1-12
  150 print hex$(inp(&FD42))      year  0-99 (real is + 2000)
  160 print hex$(inp(&FD42))      Weekday  0-31  
 
 
F110   Set date   day month year  
 
100 call ARM ready
  110 out &FD41,0        reset buffer pointers 0
  120 out &FD42, day        day   1 -31
  130 out &FD42, month      month  1 -12
  140 out &FD42, year       year   0-99 (real is + 2000)
  150 out &FD41,110        active function
  160 call ARM response
 
F111  Get date   day month year  
 
100 call ARM ready
  110 out &FD41,111        active function  
  120 call ARM response
  130 print inp(&FD42)       day   1-31
  140 print inp(&FD42)      month  1-12
  150 print inp(&FD42)      year  0-99 (real is + 2000)
  160 print inp(&FD42)      Weekday  0-31  
 

ARM ready and ARM response are checks if the ARM processor is bussy. It is done with an IN(65d), 0 is ready, 1 is bussy and  3 is error. The error codes or error text can be read.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.15. 19:32:12
Beta-testing the SF3 on my Enterprise:

https://www.dropbox.com/s/0ah22oucwpe8fsh/VID_20190515_185823.mp4?dl=0
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.May.15. 19:54:13
Nice!
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Ep128 on 2019.May.15. 23:55:51
Congratulations! :-)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: geco on 2019.May.16. 08:32:00
coooool :)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Tutus on 2019.May.16. 10:54:14
Nice! :smt026
Title: Re: SymbiFace3 is near your Enterprise...
Post by: szipucsu on 2019.May.16. 12:22:07
Beta-testing the SF3 on my Enterprise:
Cool! Even a youtube video would do.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.16. 17:17:01
Ok, I had no time to put it on Youtube, maybe this evening.

Today's lunch time has been very profitable...

Just for test, and advised by Zozo, Hans has enabled the 60-6F segment zone for Rom, and 70-7F for Ram.

The system has found correctly the added Ram, from 1088KB to 1344KB(1376256 bytes in system)

The SF3 manages a SF3.INI batch file that, if found on the SF3 card's SD slot, is executed just before the EP starts. If a modified EXOS has been installed, a 16KB Rom can be put on any of the segments, including on the Ram zone, and it will be found and added to the Rom list, just like EPDOS does. On the non modified EXOS, the Rom will be only found on 60, and maybe on 70(?).

The test file is the Cyrus.rom. This picture is when I have loaded it to the 60(Rom) segment.

[attach=1]

Then I have loaded it to 70(Ram). I have loaded EPDOS, but as an extension to call its useful commands, like HROM:

[attach=2]

Observe that Cyrus is on 70, but I have loaded it there with SF3, not with EPDOS.

[attach=3]

It works correctly from the SF3...
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.16. 18:26:54
This (http://HTTPS:raw.githubusercontent.com/BeCube1/Symbiface-3/master/S3.bin) is the CPC rom that is executed when the SF3 starts. It would be great if Geco converts it to Enterprise, to put it on the 60 segment.
It has to take total control, print the SymbiFace 3 screen and then release control to system.

Youtube video (https://youtu.be/aKReZ0dDx0o).
Title: Re: SymbiFace3 is near your Enterprise...
Post by: TMTLOGIC on 2019.May.17. 00:25:42
Great job Gflorez,
Unfortunately I don't have time to answer the forums.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.May.17. 09:49:51
This (http://HTTPS:raw.githubusercontent.com/BeCube1/Symbiface-3/master/S3.bin) is the CPC rom that is executed when the SF3 starts.
Is there a source for it? And any description/video about what it does?
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.17. 10:15:41
I will ask Prodatron.

Please, Zozo, can you answer some questions about reset on Slack, the SF3 Enterprise thread?
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.21. 20:20:46
Still no news from Prodatron, sorry.

But I am not losing time....

Today, at lunch time, I have tried the Wifi capabilities of SF3. I have sent the Cyrus.Rom to Hans, and he has put it on his Web page as downloadable.

Then I have put the SSID and password of my Wifi Router on the SF3.INI script:

"
WIFI_PASS   =XXXXXXXXXXXXXXXX
WIFI_SSID   =ZZZZZZZZZ
 
WIFI_CONNECT
"

And the following Rom loading command:

"
ROM[96] =HTTP:www.tmtlogic.com/cyrus.rom
"

And then, at the booting, it has connected to TMTLogic and has downloaded the Rom on the segment 60.... Perfect, on only a little more time than loading from the SD or USB....

I have also tried to share Wifi from my phone, and it did the same flawlessly.

By now the internal software of the SF3 only manages 16KB Roms because is how was planned for the CPC. This probably will change, but I have cut the Pasziansz 32KB version on two, then I have put the first halve on segment 61 and the second on segment 62. Of course all has worked.

This has surprised Hans a lot, because he says that CPC roms need to have an external header, sometimes as long as 128 bytes...
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.25. 23:39:42
when I have the second batch of SF3s ready I will continue with the firmware.
-enlarge the roms 32 48 and 64kb
-hexadecimal rom number
-Enterprise,CPC,MSX or PCW  name on the oled display.
-continu with the wifi stuff

Great!

More good ideas will come from its use.
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.26. 17:00:34
A great idea from Zozo:

SF3 has the powerful option of being able to inject Roms or enable or disable Ram/Rom zones on the 4MB EP addressable space. This can be done by means of a script that is executed every switch-on by the Arm processor that manages the SF3, but the card can also be configured while the computer is running(after that, a hard reset is needed for the system to recognize the changes).

Zozo proposes to create a new SF3.Rom to configure the EP at start and to add SF3 drivers. It will be placed on a X0h segment, so every kind of EXOS can find it at switch on.

Then, depending of the EXOS version and the internally installed Ram/Rom, several configurations  of Ram/Rom will be allowed, some Roms injected, and a hard reset executed.   

The process will last only a little more than a normal boot, and only at the start of the session, all the changes will survive hard resets but not a switch off/on.

The best is that we will be able to easily test a lot of configurations like we do with the emulator, putting  Ram or Roms where we would want. 

---

More good ideas are welcome....
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.May.29. 15:41:00
[attachimg=1]

A little video showing a test program to try the movement and buttons.

https://www.dropbox.com/s/kct1yu5ioswf5xq/SF3%20USB%20mouse.mp4?dl=0

Code: [Select]
SF3_mouse: ;X_REL, Y_REL, SW_Z_STATUS, FIRE_STATUS
ld a,23  ;any number suits except 255, the normal status of the data bus when idle
out (04Fh),a  ; SF3 data bus echo
in a,(04Fh)
cp 23
ret nz   ;no SF3 present
SF3_ready?:
in a,(041h)
cp 0
jr nz, SF3_ready?
ld a,20
out (041h),a ;retrieve mouse data command
in a,(042h) ;-100<>+100
cpl
inc a
ld (X_REL),a; 8 signed bits
in a,(042h) ;-100<>+100
cpl
inc a
ld (Y_REL),a; 8 signed bits
in a,(042h); bit 0= main button, bit 1= secondary button(right), bit 2= middle button
push af
in a,(042h)  ; Wheel movement -100<>+100
Title: Re: SymbiFace3 is near your Enterprise...
Post by: geco on 2019.May.30. 13:38:32
very good :)
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.June.19. 11:16:39
Have you ever feel the curiosity to know if a real Enterprise could handle all the 4MB memory populated?

Zozo has proposed Hans a memory scheme for the SF3 that allows it to fill every addressable space on the machine, with Ram or Rom, individually every single segment....

My Enterprise has EXOS 2.4 on 00-03, and the SD reader on 04-07. Then, counting that I have a Saint's internal memory expansion, I have memory from BC to FF.

The SF3 enables by default a Rom zone on 60-67, and a Ram zone on 68-6F.

Then, I have added some commands on the SF3.ini script on the SF3 SD card:

EPRAM[#B0-#BB]
EPRAM[#A0-#AF]
EPRAM[#90-#9F]
EPRAM[#80-#8F]
EPRAM[#70-#7F]
EPRAM[#50-#5F]
EPRAM[#40-#4F]
EPRAM[#30-#3F]
EPRAM[#20-#2F]
EPRAM[#10-#1F]
EPRAM[#08-#0F]

This has enabled the memory on the rest of the "holes".

And then, to finish, I have injected some Roms on 60-67:

ROM[96]  =SD:SF3BOOT.ROM
ROM[97]  =SD:SPEM128a.ROM
ROM[98]  =SD:SPEM128b.ROM
ROM[99]  =SD:SPEM128c.ROM
ROM[100]  =SD:epd19uk1.rom
ROM[101]  =SD:epd19uk2.rom


ROM[103] =HTTP:www.tmtlogic.com/cyrus.rom

[attach=1]
Title: Re: SymbiFace3 is near your Enterprise...
Post by: geco on 2019.June.19. 11:26:44
:ds_icon_cheesygrin:
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.June.19. 11:47:28
Surely you have noticed that there is a new "SF3BOOT.ROM". It has been created by Geco, converting the plain CPC graphics, adding some fading and shine.

By now it only shows a presentation screen, but I think it will be more useful on a future, holding SF3 config files, drivers and new EXOS commands.

[attach=1]
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.June.20. 18:21:26
I have made a new Youtube video about SF3.

[attachimg=1]

https://youtu.be/E7dVVluChmA
Title: Re: SymbiFace3 is near your Enterprise...
Post by: gflorez on 2019.July.11. 21:33:44
Hans(from TMTLogic) has just added a new function to the superb SymbiFace3 card: webradio.

The procedure is to open a socket on the wifi module to the stream IP and then feed the data received to the music player chip. Surely not a great explanation, but is all what I can say about how it is done. The result is impressive, as you can see on this video:

https://youtu.be/Y410lwBRt18 

The two radio stream IPs have been took from https://www.internet-radio.com

The Basic program is very simple(and probably not very neat inside), although a little machine code subroutine has been added to make things faster.

Code: [Select]
  100 PROGRAM "WEBRADIO.BAS"
  110 TEXT 80
  120 IF SF3_DETECT=1 THEN GOTO 1000
  130 ALLOCATE 95
  140 CODE STREAM_LOOP=HEX$("AF,67,3E,07,D3,41,3E,12,D3,49,7D,D3,49,3E,5A,D3")
  150 CODE =HEX$("41,DB,41,FE,01,28,FA,FE,00,28,03,67,18,3F,DB,4E")
  160 CODE =HEX$("FE,01,28,FA,FE,00,28,03,67,18,32,3E,07,D3,41,3E")
  170 CODE =HEX$("15,D3,49,7D,D3,49,3E,5A,D3,41,DB,41,FE,01,28,FA")
  180 CODE =HEX$("FE,00,28,03,67,18,16,DB,4E,FE,01,28,FA,FE,00,28")
  190 CODE =HEX$("03,67,18,09,3E,03,D3,B5,DB,B5,17,38,A3,C9")
  200 DIM IP(1 TO 5)
  210 LET ACTUAL$="78.129.228.187:8088/stream"
  220 !  let s   :    socket number
  230 !  let d#  :    data to send
  240 !  let c   :    character number
  250 !
  260 ! open tcp webradio
  270 OUT 65,7
  280 OUT 73,5
  290 GOSUB 1010
  300 LET ACTUAL$=A$
  310 ! IP ADDRESS:
  320 OUT 73,IP(1)
  330 OUT 73,IP(2)
  340 OUT 73,IP(3)
  350 OUT 73,IP(4)
  360 ! port number High Low in hexadeximaal  (9000 decimal)
  370 OUT 73,HIGH
  380 OUT 73,LOW
  390 INPUT AT 4,1,PROMPT "Socket number (0-3): ":S
  400 IF S<0 OR S>3 THEN GOTO 390
  410 PRINT
  420 OUT 73,S
  430 OUT 65,90
  440 GOSUB 760 ! response ARM
  450 GOSUB 830 ! response wifi
  460 !
  470 ! send data request to  TCP
  480 !
  490 LET D$="GET /"&TAG$&" HTTP/1.1"&CHR$(13)&CHR$(10)&CHR$(13)&CHR$(10)
  500 OUT 65,7
  510 OUT 73,8
  520 OUT 73,S
  530 LET L=LEN(D$)
  540 FOR T=1 TO L
  550   LET C=ORD(D$(T:T))
  560   PRINT CHR$(C);
  570   OUT 73,C
  580 NEXT
  590 OUT 65,90
  600 GOSUB 760 ! response ARM
  610 GOSUB 830 ! response wifi
  620 PRINT "Request is send ok"
  630 PRINT :PRINT "press ESC to exit from this stream"
  640 LET ERROR=USR(STREAM_LOOP,S)
  650 PRINT
  660 IF S<>0 THEN PRINT "ERROR:";S
  670 GOSUB 760 ! response ARM
  680 GOSUB 830 ! response wifi
  690 OUT 65,7:OUT 73,10:OUT 73,S:OUT 65,90
  700 GOSUB 760 ! response ARM
  710 GOSUB 830 ! response wifi
  720 OUT 65,7:OUT 73,0:OUT 73,1:OUT 65,90
  730 GOSUB 760 ! response ARM
  740 GOSUB 830 ! response wifi
  750 TEXT :GOTO 260
  760 ! check response ARM
  770 !
  780 IF IN(65)=1 THEN GOTO 780
  790 IF IN(65)=0 THEN RETURN
  800 PRINT "ARM Error "
  810 LET ERROR=USR(STREAM_LOOP,S)
  820 PRINT S:STOP
  830 ! check response wifi
  840 !
  850 IF IN(78)=1 THEN GOTO 850
  860 IF IN(78)=0 THEN RETURN
  870 PRINT "WIFI ERROR"
  880 RETURN
  890 !
  900 DEF SF3_DETECT
  910   NUMERIC A,B
  920   ! Output : Z=detected , NZ=not detected
  930   LET SF3_DETECT=0
  940   OUT 79,170 ! 10101010d
  950   LET A=IN(79) !4Fh system databus echo
  960   OUT 79,85 ! 01010101d
  970   LET B=IN(79)
  980   IF A<>170 OR B<>85 THEN LET SF3_DETECT=1
  990 END DEF
 1000 PRINT :PRINT "SF3 not found":STOP
 1010 !IP input
 1020 LET COUNT=1:LET TAG$="":LET C1=1:LET C2=1:LET CHA=46
 1030 PRINT AT 2,1:"Example: XXX.XXX.XXX.XXX:CCCC/xxxxxxx"
 1040 PRINT AT 1,10:ACTUAL$
 1050 LINE INPUT AT 1,1,PROMPT "IP?      ":A$
 1060 LET L=LEN(A$)
 1070 FOR B=1 TO 4
 1080   LET IP(B)=0
 1090   IF B=4 THEN LET CHA=58
 1100   IF A$(C2:C2)<>CHR$(CHA) THEN
 1110     LET C2=C2+1
 1120     IF C2>L THEN GOTO 1020
 1130     GOTO 1100
 1140   END IF
 1150   LET IP(B)=INT(VAL(A$(C1:C2-1)))
 1160   IF IP(B)<0 OR IP(B)>255 THEN GOTO 1020
 1170   LET C2=C2+1
 1180   LET C1=C2
 1190 NEXT B
 1200 LET IP(5)=0
 1210 IF A$(C2:C2)<>"/" THEN
 1220   LET C2=C2+1
 1230   IF C2>L THEN GOTO 1020
 1240   GOTO 1210
 1250 END IF
 1260 LET IP(5)=INT(VAL(A$(C1:C2-1)))
 1270 IF IP(5)<0 OR IP(5)>65535 THEN GOTO 1020
 1280 LET C2=C2+1
 1290 IF C2>L THEN GOTO 1020
 1300 LET TAG$=LTRIM$(RTRIM$(A$(C2:L)))
 1310 IF TAG$="" THEN GOTO 1020
 1320 !PRINT :PRINT "Good IP! :  ";STR$(IP(1));".";STR$(IP(2));".";STR$(IP(3));".";STR$(IP(4));":";STR$(IP(5));"/";TAG$
 1330 LET HIGH=INT(IP(5)/256):LET LOW=IP(5)-(HIGH*256)
 1340 RETURN

Code: [Select]
START:
        xor a
        ld h,a
        ld a, 7 ;check RX wifi socket buffer
        out (65),a
        ld a, 18
        out (73),a
        ld a, l
        out (73),a
        ld a, 90
        out (65),a
ARM1:
        in a,(65)
        cp 1
        jr z,ARM1
        cp 0
        jr z,WIFI1
        ld h,a
        jr END
WIFI1:
        in a,(78)
        cp 1
        jr z,WIFI1
        cp 0
        jr z,CONT
        ld h,a
        jr END
CONT:
        ld a, 7 ;copy incoming socket data to mp3 stream
        out (65),a
        ld a, 21
        out (73),a
        ld a, l
        out (73),a
        ld a, 90
        out (65),a
ARM2:
        in a,(65)
        cp 1
        jr z,ARM2
        cp 0
        jr z,WIFI2
        ld h,a
        jr END
WIFI2:
        in a,(78)
        cp 1
        jr z,WIFI2
        cp 0
        jr z,KEYS2
        ld h,a
        jr END
KEYS2:
        ld a,3
        out (181),a
        in a,(181)
        rla
        jr c,START
END:
        ret


Title: Re: SymbiFace3 is near your Enterprise...
Post by: Zozosoft on 2019.July.12. 19:40:56
It sounds interesting!