Enterprise Forever

:UK => Hardware => Topic started by: gflorez on 2020.July.01. 15:24:01

Title: Questions about SymbiFace3
Post by: gflorez on 2020.July.01. 15:24:01
Hello. I open this new thread to put here the best I know about the Symbiface3, its current development and future functions.

Thanks.

How can I update my SF3 to the very last version? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79628/#msg79628)

How can I start with the SF3( on the Enterprise)? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79656/#msg79656)

                 What contains the SF3_EP.INI file? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79716/#msg79716)

                 Has the SF3 more versatile ways to inject Roms? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79807/#msg79807)
  
                 How to manage the Rom Manager program? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79812/#msg79812)

How can I start managing the SF3's funtions? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg79976/#msg79976)

Is there a way to skip the EXOS memory check with a SF3 connected? (https://enterpriseforever.com/hardware/questions-about-symbiface3/msg80785/#msg80785)
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.01. 20:34:37
For example, one of the first questions that will arise to new SF3 owners is:

How can I update my SF3 to the very last version?

Ok, like all developments, and SF3 is still on the very middle of it, there will be some transitional/test updates and then the definitive/tested updates. I will put here on Enterprise Forever only the definitive updates, and will explain what has changed on them. Usually some fixings or additions to the code of the Arm processor.

Every SF3 comes with a DFU cable, an "unusual" lead with a male USB connector on every end:

[attachimg=1]

Don't keep it in the bottom of a drawer! you will need it very often to reveal new and fantastic functions.

The ideal way to update the SF3 is connecting it to a Win PC, but some users have been able to upgrade on Apple or Linux computers.

To start I will describe only the Win way.

First download (https://www.st.com/en/development-tools/stsw-stm32080.html) and install the linked DfuSeDemo program. Also, create a new directory where you will store the DFU update files. Download the last DFU update and store it there.

With the SF3 disconnected from the Enterprise, change the position of the DFU switch on it to the upper position.

[attachimg=2]

Then connect one end of the DFU cable to the PC and the other end on the "FAT32" USB port on the SF3(at the right of the Wifi antenna and over the OLED screen:

The PC will then recognise the new hardware and will install its driver.

Open the DfuSeDemo program:

[attachimg=3]

If the middle list is filled like on the picture, the SF3 has been recognized and the update zone has been read. If it remains in white, try to remove and re-connect the DFu cable from the PC.

Now, you only have to use the two marked buttons in red, first Choose, and select the DFU file that you have previously downloaded and stored on an special directory.

Once done the little square near the two buttons will now show something like "00 ST...", and the "Upgrade" button now will be highlighted.

Click on the "Upgrade" button, a warning window will now appear, but click on "Yes". One green bar at the bottom will grow making two passes, and at the end it will show "Target 00: Upgrade successful !".

Now you can click the "Quit" button to exit the program.

On almost all upgrades this will be all, the SF3 will be ready to be connected again to the Enterprise with the adapter. Remember to put the DFU switch on the down position.

But on some circumstances, the CPLD chip firmware needs to be modified. On it are the main adaptations to each computer, so every update is critical.

It also happens that the user could need to re-program the SF3 to use it on other family of computers, CPC, MSX, PCW or others to come.

Then, after the DFU update, and still with the SF3 connected to the PC, move the DFU switch to the down position and press the Reset button on the SF3, at the left side of the card.

The OLED screen will briefly show the target computer DFU update installed, on our case "EP", the actual voltage the PC provides, and then "Missing Z80 upd".

From now on, please only continue if it has been recommended on the most recent DFU update.

Now press the middle button below the OLED screen, and the CPLD will be internally updated with an attached file on the DFU.

The screen will show "UPDATE" and once done "READY". Now the SF3 can be unplugged from the PC and re-installed on the Enterprise with the adapter.
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.02. 07:45:39
Very good guide. Thank you - once again :) - for all you hard work!! :smt041
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.03. 19:40:24
Other giant question about SF3 can be this:

How can I start with the SF3( on the Enterprise)?

A packet has arrived to your address, it contains several parts, including the SF3 and the adapter(one of the two classes of it).

The SF3 was primarily developed for the CPC, it is the reason why it inherits the strange(for us) connector, but some of the pins have been reprogrammed to the Enterprise specific ones, so it is no more a CPC connector on its logic, only on its shape. There are also SF3 adapters for MSX and planed for the PCW. As I have pointed on the first question, the CPLD on the SF3 is where the interfacing logic of every computer is stored. Never try to connect an EP programmed SF3 on the wrong computer, it first needs to be programmed for the new host computer by means of a DFU+CPLD upgrade as explained on the first question.

The EP SF3 you have received has an extra lead soldered to the pin1 on the CPC connector. It is needed because Hans got out of free programmable pins during development. Hans is thinking a solution for it, but until that, an EP SF3 can't be connected to the other families of computers.

There are 2 ways to connect the SymbiFace3 to the Enterprise, both electronically equivalent.

Hans designed the stand-alone adapter based on an hand-made prototype I sent him only for tests, but it only admits the SF3 on the expansion connector, no more EXDOS, for example. Is it a problem? I think no, because we actually use more the SD-cartridge than disks. But also because the SF3 promises to be the always dreamed "Enterprise All-In-One expansion". I think that soon it will be the best option for an user that never has expanded the computer.

But if the user already has some classic expansions, he(or she) better needs the SF3 slot adapter(designed by Wilco and me), intended to be connected on a Bus expander. I will explain much better this adapter later.

Both approaches are well hardware-integrated on the Enterprise, so they will not clash with other devices. One exception is the Spectrum Hardware emulator, that uses the same 40-4Fh range of ports, and so it can't be connected at the same time than the SF3. Zozo has promised a fix for the Spectrum emulator card soon.

Ensure that the Enterprise is switched off.

Plug the SF3 stand-alone adapter on the Enterprise expansion port, or the Bus expander if it is the case.

On the Stand-alone adapter the SF3 faces to the user,

(https://enterpriseforever.com/hardware/symbiface3-is-near-your-enterprise/?action=dlattach;attach=24767;image)

while on the Slot adapter it faces to the computer.

(https://enterpriseforever.com/hardware/symbiface3-is-near-your-enterprise/?action=dlattach;attach=24769;image)

Always re-assure that the SF3 is correctly plugged.

Plug firmly and in parallel the two connectors, all the 50 pins at the same time, to put the SF3 in its position on the adapter.

If you need to unplug the SF3 from its adapter, pull gently from both sides of the connector while making a slow swing with the hand. But it can happen that we bend some pins on one of the sides of the connector. With a sharp point guide the point of the pins to their place, aligned with the other rows. Do this before attempting to plug again the SF3 on its adapter.

The SF3 slot adapter in its actual form is made of the adapter itself connected to a flat cable. I reached to this approach while measuring the excessive height of the SF3+adapter. Then I decided to lower the set at maximum.

(https://enterpriseforever.com/hardware/symbiface3-is-near-your-enterprise/?action=dlattach;attach=24757;image)

Practice has proved that the best slot on the Bus Expander to plug the SF3 is the very first one. I recommend you to tie the  SF3 to the adapter board with a gum strap(these to tie the hair can serve), and the set will gain a lot of stability. Also, avoid if possible the spikes of the 7805 regulator heat sink.

Please, wait to switch on the computer. We are very near.

You will need a male/male stereo sound jack cable to ear the SF3. The adapters come provided with an IN jack base connector. Plug one end on it and the other to the green jack base connector at the right side of the SF3. You don't need more for sound, as the Enterprise will mix perfectly its Dave internal sound with the incoming SF3 sound.

With all the pieces connected we still need a spare micro SD and an USB pen-drive for sf3 storage. The first one will save System SF3 files, while the pen-drive will store media files.

The capacities of both  better if they don't exceed 4 GB, because we need them to be formatted on the usual FAT16 system and it is its limit. Please only use 1 big partition. Use discarded storages from other devices if you only can buy larger ones.

Still wait... Once booting, the SF3 will search on its SD card the most important of its system files, "SF3_EP.INI", a text archive where some important configurations are stored. Other SF3 computers have similar files, named "SF3_CPC.INI", "SF3_MSX.INI" or "SF3_PCW.INI". This way, the same SD card can be used on a lot of computers without the need to edit their INI file.

Sorry, patience... I will explain the INI file on the next message.
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.04. 07:37:40
Good guide!

A question:

The EP SF3 you have received has an extra lead soldered to the pin1 on the CPC connector. It is needed because Hans got out of free programmable pins during development. Hans is thinking a solution for it, but until that, an EP SF3 can't be connected to the other families of computers.

Does this mean that I cannot connect my SF3 to a MSX or a CPC even if I reflash it with the right firmware?
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.04. 11:22:02
Pin 1 is used on CPC to output AY sound from the DSP. Not related, but on my opinion it was a bad hardware design by Amstrad, as it would have been much better a mono sound input and merging like is done on MSX(mono) and Enterprise(stereo).

In fact, this pin 1 is scarcely used. But even unused, it is connected  to the CPC DSP amplification circuits.

On the EP interface approach Hans use that pin for /BUSDIR, soldering a little lead from a test point that is programmable. What still remains is a way to neutralize the signal that comes from that lead when the SF3 is programmed for other computers, that's all.

(https://enterpriseforever.com/hardware/symbiface3-is-near-your-enterprise/?action=dlattach;attach=24494;image)

The signal is not potentially harmful, but  a fast switching of 0v to +5v on it can probably create a lot of noise on the CPC sound amplification circuits.

On the MSX adapter, I don't remember it well now, but I think that the SF3 Right sound channel is output on pin1, so the same problems could apply to it.

------

All this long(and probably unnecessary...) explanation lead us to an easy answer: Benny, you can use your SF3 on other computers the CPC, of course(if you dare...), but you will need to unsolder and isolate one end of the lead while you do it. Later, solder again the lead on its place when you reprogram the SF3 for the EP.

------

EDIT: Hans confirms that the pin 1 is not connected on the MSX adapter, so it is sure to connect the SF3 that has the lead soldered(the ones sold for the Enterprise) to a MSX.

Remember: the SF3 needs to be reprogrammed by DFU+CPLD to the host computer before attempting to connect it.
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.04. 16:48:49
OK. Thank you for the clarification :-)
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.05. 00:04:25
Hans recommends better to check the verify option when upgrading the SF3 with the  DFUSe Demo program.

If there is a bad connection and the upgrade is not checked, it can lead to a bad behaviour of the sf3.

A defectively upgraded SF3 can be easily reprogrammed.  

[attachimg=1]
Title: Re: Questions about SymbiFace3
Post by: ergoGnomik on 2020.July.05. 16:35:01
That patching looks quite ugly. That's not what we are accustomed to in Hans' work. Am I guessing right that there will be a new revision making this configurable by jumper or DIP switch?

Edit: Typo corrected.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.05. 17:33:04
Yes.... but tests cost time and money....

Some time ago he tried a new SF3 version with the 74LS245 chip integrated, so the aerial lead wouldn't be necessary.

But then the PCBs came defective(they have a 4 layer design, not cheap), and it forced him to return to the current old-reliable design.

He will try it again, of course, but there are priorities when developing.

			
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.05. 20:19:40
Maybe not the nicest hack but I have seen worse ... :)

I am considering attaching the wire to a SMD on/off DIP-swith fastend with some hotglue to make switching a bit easier.

Something like this:

DIP-switch (https://www.dropbox.com/s/c7nvf1fy2djmvaa/DIP-switch.jpg)

Not the nicest "hack" but it works ... ;-)
Title: Re: Questions about SymbiFace3
Post by: TMTLOGIC on 2020.July.05. 20:47:47
does the msx not work with this thread?

Its only an problem by the CPC.
I think so
Title: Re: Questions about SymbiFace3
Post by: TMTLOGIC on 2020.July.05. 20:50:27
When i have time... i will change the CPC cpld code.
the budir pin in an output pin.
And the sound of the CPC also.
First i will measure the signal values of the cpc audio
When its lower than 5v and higher if 0v.
The cpld busdir pin  can be modivfy to input pin
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.06. 06:32:11
does the msx not work with this thread?

Its only an problem by the CPC.
I think so

I have not tested yet :)

I have been offered an Amstrad 6128. Therefore I was researching a bit on what was needed to run with that.

I will write to you on Slack when I have tested just to confirm that everything works.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.10. 12:18:47
The following great question, before all the other little ones start to come, is: what contains the SF3_EP.INI file?

But before answering thoroughly to that, there is other little question: What happens if the SF3_EP.INI file is not found?

If not found it happens the same that when the file is incorrect(some error is found): The SF3 Rom is injected on the segment 60h, and a minimum 512KB Ram expansion is enabled at A0-BFh segments(this zone can overlap other ram expansions).

Actually, when the SF3.Rom is found, it only draws the SymbiFace3 screen and exits, but on a future it can take control of the Enterprise, install drivers, configure the SF3 and exit.

Another question: Why the SF3.Rom is injected on segment 60h? Because Zozo says that until now it has been a seldom used zone, and because the original EXOS Roms 2.0 and 2.1 only search for Roms on the cartridge zone(04-07h) and on the X0h segments(being X: 0 to F). Newer EXOS Roms modified by Zozo search for Roms on the complete 4MB range.

Now, let's explain what does the SF3_EP.INI.

This is an example of it:

Code: [Select]
************************************************************************************
*      SF3  ENTERPRISE INI FILE                                        
************************************************************************************
*Wifi settings - configure up to 5 access points

WIFI_PASS   =wwwww
WIFI_SSID   =xxxxxxx

WIFI_PASS   =aaaa
WIFI_SSID   =bbbb

WIFI_PASS   =sss
WIFI_SSID   =tttt
 
*WIFI_CONNECT

************************************************************************************
*TMTnet settings

TMTNET_USERID=30XX
TMTNET_PASS=XXXX

************************************************************************************
*Ram settings

EPRAM[8,#0B]

EPRAM[12-31]
*EPRAM[#08-#1F] decimal or hexadecimal segment numbers can be used if added a #

*EPRAM[#20-#2F] EXDOS Rom zone


EPRAM[#30-#5F]

*EPRAM[#60-#6F] SF3 Rom zone

EPRAM[#70-#F7]

*EPRAM[#F8-#FB] internal 64KB Ram expansion on 128K models


************************************************************************************
*Rom settings

*ROMEXOS_ENA=ON This option is to inject a Rom in 00-03h segments

*ROM[#06]  =SD:strack3.rom
*ROM[#60]  =SD:SF3BOOT.ROM
*ROM[#61]  =SD:SPEMU128.ROM
*ROM[#64]  =SD:epd19uk.rom
*ROM[#66]  =SD:forth.rom

*ROM[#67] =HTTP:www.tmtlogic.com/cyrus.rom
*ROM[#69]  =SD:epnet.rom
************************************************************************************
* Audio settings SYMAMP for symbos audio - options are SYMAMP(MP3A), MP3B and MIDI
 

AUDIO=  SYMAMP
************************************************************************************
Title: Re: Questions about SymbiFace3
Post by: tofro on 2020.July.10. 15:25:21
I have a much more basic question:

Where can I get a SF3 and what exactly do I need?

Thanks,
Tobias
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.10. 15:58:36
Tofro, I have put you a PM.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.10. 18:18:12
The INI file is a batch file, just like the ones we use on EXDOS and ISDOS.

On the list, "*" is like a "!" or "REM" on Basic, so these lines are comments or de-activated commands.

The configuration stored on the INI is saved on ARM memory, so the file is no more accessed when boot finish.
------------------------

First we have to define our wifi point or points of access. Up to 5 could be defined.

For example, I use three of them, my work, my house and my phone. A wifi zone on the phone is very useful for tests, or when you are on an Enterprise Club meeting....

Code: [Select]
WIFI_PASS   =wwwww
WIFI_SSID   =xxxxxxx

This is easy, WIFI_SSID is the name of the access point, and WIFI_PASS is... the password.

Don't leave connection commands without content, if you use only one point of access, erase the other lines or put an "*" as the first character.

Code: [Select]
*WIFI_CONNECT
Remove the * on this command, the first wifi connection tries. It will force the wifi connection on SF3 boot. If not active, the connection will be made only on demand, when a function needs wifi access. After the first connection, the SF3 will remain connected, but there are available functions to force disconnection, and even re-connection.

When connecting, SF3 will try first the more powerful station on the adjacent zone that is also available on the list, so the order is not important.

EDIT: Hans points that some routers use estrange characters on the password. SF3 removes by default all TABS and Spaces from the INI file before executing it, but this can be avoided if the line starts by @. Example:

Code: [Select]
@WIFI_PASS=HELLO  SPACE
In this case, the spaces will also be used on the password.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.10. 18:35:27
The next section is TMTnet settings.

Code: [Select]
TMTNET_USERID=30XX
TMTNET_PASS=XXXX

These commands are optional, because if the data is not found on the ARM memory, the chat program will ask you them once. The two data will be stored until a switch-off happens. Some programs could also store the two access data, and would restore them on other sessions.

The TMTnet user and password are provided by Hans, and are not fixed to the SF3 in any form.

Later we will see how TMTnet works and what amazing options are planned for it.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.10. 20:56:54
And now I will present you one of the most exciting(for me) functions of  the SymbiFace3: Total RAM/ROM control on the 4MB addressable space....

Thanks to Zozo's advice, Hans has been able to address all the Enterprise memory range. For the very first time on the Enterprise history, all the 256x16KB segments can be used. I know, there are very few programs that can use all that memory, but it is cool to be able to do it after all those years... and it works as planned, EXOS(with Dave aid)is able to work with few memory, exactly  the same as with a lot of it. Rock solid operative system.

EPRAM[] is the command used to "inject" Ram on the segments between brackets. They can be named decimal, or hexadecimal if started with a "#". They can be listed with commas, but the most useful way to inject big zones of memory is as a range, first segment, hyphen(-), last segment.

ROM[] is similar, but injects only one Rom every time. The Rom can be 16KB, 32KB, 48KB or 64KB wide, SF3 will allocate the following segments, but we have to count them to not overwrite a segment. For example:

Code: [Select]
ROM[#60]  =SD:SF3BOOT.ROM
ROM[#61]  =SD:SPEMU128.ROM
ROM[#64]  =SD:epd19uk.rom

SPEMU128 is a 48KB Rom, so in this case SF3 will use segments, 61h, 62h and 63h, so the user has to know that the next free segment is 64h.

As a convention, optionally, the 60h-6Fh zone has been designed for user Roms. On EXOS 2.0 and 2.1, only 60h, SF3.ROM will be visible, so other X0h segments should be used, as explained before.

But before starting to tweak on the Enterprise memory you should know more about your actual memory configuration.

The best way to know about it is to load EPDOS as extension. I provide the EPD17Z link on the museum here (http://www.ep128.hu/Ep_Util/Prg/Epdos17.rar). It doesn't work with the SD reader, but we only need its EXOS commands, not the program itself. Once loaded it will restart and load the EPDOS program, press A to abort and search Basic with the cursor and press Enter.

Once again in Basic execute :LRAM. and then :HROM. Some text like this will appear:

[attach=1]

On the Ram segments list usually you will not see the lowest segment, that has been allocated for the Z80 page 00. In this case it is F8h. Then you can count 8 Ram segments from F8h to FFh. This is a 128K UK model.

On the Rom segments list, EXOS is never shown only WP on segment 01h. You can see how EPDOS has been allocated on Ram zone FA-FBh, and also you can see that these segments are not on the free segments list.

The only Rom that is "out of place" is the EXDOS+ISDOS Rom, on 20-21h. But EXDOS takes for it all the 20-2Fh zone, so we can't add Ram or Rom there.

Now we are going to list the Ram/ROM segments that the SF3 could inject on a stock EP128:

05h-07h on the cartridge area(on a cartridge with language Rom also segment 05h is used, on the SD adapter all 04h-07h segments are used), 08h-1Fh and 30h-F7h. A total of 224 segments can be injected on a stock EP128 with EXDOS controller... 3584KB...

Just add these commands to the Ram setting section on the INI file:

Code: [Select]
EPRAM[#08-#1F]
EPRAM[#30-#F7]

But as I have said, a stock EP128 has EXOS 2.1, so it will only search Roms on X0h boundaries. You will need to slice these big ranges to put some Roms on your EP.

I highly recommend you to upgrade your EP to the latest EXDOS from Zozo, because a lot of fixings and "modernizations" have been made on it, like the fast Ram check, very necessary if you don't want to sleep while all that "huge" amount of Ram is tested on the stock EXOS.... There is a turnaround for EXOS 2.0 and 2.1 users: to use the stand alone Zozo's memory fast check on a modified cartridge or on the SD-reader.
Title: Re: Questions about SymbiFace3
Post by: Tutus on 2020.July.12. 21:00:39
ROM[#60]  =SD:SF3BOOT.ROM

How will this get on the SD card?
Need to download somewhere?
You didn't mention that in the description.
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.13. 07:22:49
You can find all the relevant sf3 info and files (http://www.tmtlogic.com/tmtlogic.com/index.php?option=com_content&view=article&id=6:support&catid=10&Itemid=113) here.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.13. 10:41:50
Sorry, I was very lazy with files... Soon I will share others that only I have.

SF3Boot.Rom can be on any segment, but for standardisation, and because one of the Basic programs manages Roms there, better put it on the 60h segment, and additional user Roms on 61-6Fh. If you still need more Rom space, use the 70-7Fh zone also. Check that the zone don't clash with your memory expansions.

Don't worry if, accidentally, some SF3 Rams/Roms clash with other internal or external memory(Ram/Rom) expansions, they will be mixed , it is not harmful, only will produce malfunction. Is the user who has to be careful with memory definitions.
Title: Re: Questions about SymbiFace3
Post by: Tutus on 2020.July.14. 11:39:11
I'll ask you a few questions :)

- Will the SF3 mouse be able to handle the programs that EnterMice has handled so far?
- Will the date and time be displayed on the screen in the top status bar?
- Will it be possible to use SymbOS net programs with TMTNet?
- Will it be possible to run EP programs on the SF3 USB Pen Drive or SD card?
- Will SymbOS see the SF3 USB drive?
- Will SymAmp play music on the SF3 USB Pen Drive?

If anyone is already working on this, when are these developments expected?
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.14. 15:04:22
A lot of juicy questions...

First, the SF3 mouse implementation  is not compatible with all USB mice, but this is because there are thousands of mice implementations on PC. When you find a compatible mouse it works perfect.

You can use the SF3 mouse with programs that use the Mouse Driver, I added SF3 mode (https://enterpriseforever.com/programming/universal-mouse-driver/msg75937/#msg75937) long ago. These are Paintbox, EGI and Basic. Still not on SymbOS, sorry. Prodatron has to add compatibility, like he has done on the CPC SymbOS port.

The games or apps that use directly the EnterMice hardware will not work, sorry, they must be adapted. I will try them on time.

The RTC inside the SF3 will be included by Zozo on a future on his Zozotools, so it will happen, and I hope the same with the SF3 USB and SD.

About TMTNet, I can say just now that TMTnet is incompatible with SymbOS-net, but I am sure that the SF3 will work with SymbOS-net when Prodatron make a driver for the wifi module on it. On the other side, TMTnet is totally possible as an app on SymbOS.

SymAmp is oriented to files, mode MP3A on SF3, while the Basic program SEPLAY2 is remote playing oriented, mode MP3B on SF3. The second one is better, because it doesn't stress the Z80 sending the song data to the Mp3 chip, it is the SF3 itself who manages the file and the data.

But we still don't have an EXDOS driver for the USB and SD on the SF3, so we only can use SymAmp playing MP3A from the SD-cartridge. And about SymAmp playing remotely the Mp3 files on SF3(MP3B), it would need very deep rewriting, surely.

I see easier to write a new SEPLAY app on QUIGS or machine code on EXOS. But all can be because we have the SymAmp assembly source.

I am almost sure that once having an EXDOS driver for the USB+SD we will have it also on SymbOS, because it takes its drive list from EXDOS. And SymbOS is already FAT16/32 compatible, so it will read partitions formatted FAT16 with EXDOS 3.0(Bruce).
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.14. 16:59:01
@gflorez: Once again thank you for all your hard work for the platform :)

I had to remove my faulty RAM expansion and now everything seems to run stable again. But that means that I am down to 64KB without the Sf3 .... :smt073

I have therefore inserted these RAM-settings in the ini file

Code: [Select]
EPRAM[#08-#1F]
EPRAM[#30-#F7]

I have a SD card reader so I am not injecting

Code: [Select]
EPRAM[#05-#07]

Is that the optimal setting for my special system?
Title: Re: Questions about SymbiFace3
Post by: geco on 2020.July.14. 17:20:45
I would leave EPRAM[#05-#07] , ROM of SD Card reader uses 06 07 if i remember well,  and EPDOS17 did not show suage for 05, but when i inserted a rom there, SD ROM was not visible.
Title: Re: Questions about SymbiFace3
Post by: John Fante on 2020.July.14. 19:31:43
I tried with EPRAM[#05-#07]  but then I got an 64K ram error and no SD card reader working/showing up.
Title: Re: Questions about SymbiFace3
Post by: Zozosoft on 2020.July.14. 20:04:28
- Will the date and time be displayed on the screen in the top status bar?
- Will it be possible to run EP programs on the SF3 USB Pen Drive or SD card?
These are waiting for me :oops:
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.14. 21:14:04
I enjoy doing this, it is not an effort.

But not all is enjoyment... for example, I have introduced a very BIG ERROR when I put the range 05-07h as an example to use the max. memory possible on a stock UK EP128.

Due to the size of the CPLD used on the SF3, the memory addressing on the Enterprise approach has only one limitation: every 4 segments(64Kb) can only be Ram or Rom. There is a resolution of 64KB for selecting Ram or Rom.

This means that I can not take the spare 02, 03, 05, 06 and 07 segments to put Ram there, I only can put Rom on 02 and 03(the modified EXOS Roms from Zozo have 64KB), or I can select to put 64kB Ram on the cartridge(03-07), only if I don't put any Rom there.(EXOS will only search for Roms there)

Then, on a 16 segments row, for example 20-2F, I have freedom to put all Ram or Rom on chunks 20-23, 24-27, 28-2B, 2C-2F.

Is it enough freedom? I think yes.

But, just because SF3 is eminently software, I am going to ask Hans if the cartridge zone can be defined differently, a special zone, to be able to emulate the hybrid classic cartridges that had Ram and Rom on them.


I apologise for the confusion I have introduced...

I will fix the past explanations.
Title: Re: Questions about SymbiFace3
Post by: geco on 2020.July.14. 21:42:07
I tried with EPRAM[#05-#07]  but then I got an 64K ram error and no SD card reader working/showing up.
sorry, i meant with i would leave...
please remove that line from config, because you will not have sd ROM
Title: Re: Questions about SymbiFace3
Post by: TMTLOGIC on 2020.July.14. 21:54:11
i can change the memory mapping.
but there are some limitations with the cpld.

Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.14. 21:58:53
I mean, 16KB resolution only for the cartridge zone, 04-07. The rest of memory range is correct with 64KB resolution.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.17. 11:20:02
Let's continue with the explanation about the INI file.

As you can see on the Rom definitions, you could put your Roms on a directory or on a complex path on the SF3 SD, not on the root of the SD card like I have done.

You surely have seen this line on the Rom definition section on the file:

Code: [Select]
*ROM[#XX] =HTTP:www.tmtlogic.com/cyrus.rom
Yes, you even can download a file from a remote web page and also from another place on your house...

Try this line on your Enterprise, remove the asterisk and select the segment where you want to inject the chess game.

The SF3 will try to connect to WIFI even if you have the "WIFI_CONNECT" command disabled.

About downloading files from the home net, better I will wait with the explanations until making some tests to know better how it works.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.17. 15:54:42
Now only remain the explanation about the SF3 sound modes:

Code: [Select]
AUDIO=  SYMAMP
This is the default option, MP3A. You can put here other Sound mode(I will explain them later), but better not, because some programs expect this mode at start.

If you deactivate it(Asterisk) or directly you remove the lin, the SF3 will not sound, but it will also lose the USB "disk commands", because these are based on AT commands, that are on the software sound module.

Why it is named SYMAMP?, because the sound module on the SF3 is based on the SE-ONE(TMTLogic) MP3 MSX cartridge, a clone of the Sunrise Mp3 cartridge. The classic cartridge is supported on SymAmp(SymbOS) since its creation on 2013, so that was the reason on making the SE-ONE and the SF3 compatibles with that hardware, to have an immediate use on existing software.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.20. 12:06:21
Now I ask myself: Has the SF3 more versatile ways to inject Roms?

Yes, they are named Rombanks.

Imagine that you need to have two or more Rom arrangements. I mean, various Rom configurations at boot, selectable at the touch of a button.

Do we Enterprise users need that? Seriously, I think that EXOS  allows a huge amount of Roms to be integrated all at the same time on the system. But this doesn't happens on a CPC. If you install more than 16x16K Roms the system hangs, due to not have place for the stack, because every Rom needs to add a descriptor.

The solution: On a CPC you can place more, up to 128 Roms if memory provided, but only the first 16 will be on the system Rom list.

This situation leads us to the Rombank method, that we have inherited from the CPC SF3 development. The need to have at hand a lot of Roms integrated on the system.

The only advantage this system gives us is that is a lot faster than the usual INI Rom definitions, but it needs to leave the Rom without its real name.

The implementation of this method works as this: just before the INI file execution, the SF3 searches on its SD for a directory named BANKXXX on the path SD:EP/ROMTABLE/.   XXX is a number from 000 to 999. If found, the Rom files found on it will be injected on memory. If not found, the normal procedure, searching for the INI file is continued.

Where are the files injected?

The Rom files have this name format: ROMXXX.BIN, with an associated descriptor file ROMXXX.TXT to store the name of the file. XXX is the target segment number on decimal. On the same BANKXXX directory an additional file can be found:  BANKNAME.TXT , that contains the name of the Rombank.

Once injected the selected Rombank, the searching for the INI file is executed, so it can be that the previous Rom configuration could be thrashed by the INI's Rom or Ram definitions. Is the user who must control how the boot configuration is executed.

Usually the default Rombank is 000, but the SF3 has commands to change it, or you can press the Right button on the OLED screen to select other bank of the present Rombanks.

All that rename, create files and DIRs can be made with a simple Basic program, attached to this message. The only rule is to have the Roms we want to put on the Rombanks on a DIR on the SF3 SD(or the USB), to be find by the program.

On the Rom Manager program, transcribed from the CPC Basic program, the segment positions of the Roms are from 96-127 decimal, 60-7F hexadecimal, but on the Enterprise you can put by hand other Roms on other segment positions.

Remember that this arrangement will only work on Zozo's modified EXOS Roms, on the stock EXOS Roms only the 60h and 70h(96 and 112 decimal) segments will be searched for Roms.

Once the Enterprise+SF3 booted, you will see something like this:

[attachimg=2]

The second line means that the left button below the OLED screen re-connects Wifi., the middle button is still not defined, and the right one points to Rombank 0. I have already defined it, and some others more for tests. If you press the button it will lead you to a dialogue to select other rombank, only if you have defined it.

Remember, on the boot sequence, first goes the Rombank, and then the INI itself, so the later has priority over the first.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.July.21. 11:33:09
How to manage the Rom Manager program?

The Rom Manager is very easy to manage, but maybe I must insert here some hints.

[attachimg=1]

As you can see, its screen has a two columns approach with a cursor(moved by the internal joystick), with the current boot bank and the current edited bank indicated on the upper side, and some key options on the bottom side.

As I have said before, it is important to save all the needed Roms on a directory on the SF3 Sd, let's say, "Roms", for example. This program doesn't have a file manager for this, so we must know previously the path of the Rom file.

On the image I have some Roms already introduced, but you can go to an empty segment and press the "u" key. Avoid selecting a segment adjacent to one Rom bigger than 16KB, always leave enough space for them.

[attachimg=2]

On other screen we will be asked about the SF3 drive, and then the path. The original Rom will remain untouched, but a copy of the file will be created on the actual Rombank directory. If the file is not found, the program exits showing us the error. This can be modified on a future.

The other options of the main screen are very descriptive of what they do, "e" will exit the program and "r" will allow us to modify or add text to the Rom description.

The "b" option is important, because it will lead us to a similar screen showing us the list of Rombanks actually in use.

[attachimg=3]

The most relevant keys here are Enter, that will set the cursor Rombank as the editable one(and will exit from here to the main screen), and the "£" key("#" on German keyboards), that will set the cursor Rombank as the Boot one. Here you can also create a new Rombank or modify its name. Observe that a delete Rombank option has been avoided, but it can easily  made erasing the complete directory.
Title: Re: Questions about SymbiFace3
Post by: szipucsu on 2020.July.21. 12:18:22
Wow, it seems impressive!
Title: Re: Questions about SymbiFace3
Post by: Tutus on 2020.August.05. 19:04:00
I don't see the names of the ROMs.
(startup bank: 0, Actual bank: 0)
Title: Re: Questions about SymbiFace3
Post by: TMTLOGIC on 2020.August.05. 19:18:59
The Rom bank structure can you found on the SD card.
Only what this programs do is edit the bank directorys
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.August.05. 20:46:52
I don't see the names of the ROMs.
(startup bank: 0, Actual bank: 0)

These are test names that I have put in my EP.... put them you also on your EP if you like them... or better put your own names.

Remember to remove Rom definitions on the INI file if you use Rombanks at the same segments.

To define Roms, first you have to store the original Roms on a directory defined by you, for example on the root of the USB(drive 1). Then search the Roms on the ROM Manager program.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.August.05. 20:49:39
Ah ok, now I see. You have to create a RomBank dir on the second screen(press "m" on the first screen to enter the banks screen).
Title: Re: Questions about SymbiFace3
Post by: Kapitany on 2020.August.07. 11:37:56
Hi Hans,

It is me, who would like to use the SF3 card with my MSX, CPC and EP computers. If I understand well, when the wire is soldered to PIN1, I can use the card with both my MSX and EP machines, but I would have problems with my CPC. If I put a switch between the wire and the PIN, interrupting the wiring there, the card could be used with CPC computers, couldn't it? No other hardware modification is needed, right?

Thanks in advance!
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.August.07. 12:05:31
That's it, then you must update the SF3 with the specific computer DFU and CPLD firmwares.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.August.15. 12:48:15
Following with the Rombank explanation, a new option has been added on the 10 August 2020 update (https://enterpriseforever.com/hardware/symbiface3-is-near-your-enterprise/msg79963/#msg79963), emulated Roms in Ram. This is not new to the Enterprise, it is a characteristic of EXOS, but SF3 can do the process automatically.

A Rom can be defined on the Rombank, let's say EPDOS21.Rom on 04-05 segments, by the procedure of renaming a copy of the Rom file as ROM004.BIN inside the EP/ROMTABLE/BANK000 directory inside the SF3's SD. Remember to also add a ROM004.TXT file explaining the real name of the Rom.

Then, you must edit the INI file and add this line to the Ram definitions:

Code: [Select]
EPRAM[#04-#07]
On the actual CPLD SF3 firmware, the Ram/Rom zones can't be smaller than 64KB, so you only can define X0-X3, X4-X7, X8-XB, XC-XF zones, not individual segments. This means that the Romtable has selected as write-protected(Rom) the whole 04-07 cartridge area, not only the needed 2 first segments, 04 and 05.  

At switch-ON, the INI file is executed just after the Rombank definitions so the INI file will un-protect the already injected Rom, leaving it as Ram filled with the Rom data, and 06-07 segments as the emulated SRAM chip. Once the SF3 initialised, EXOS will start searching for Roms and Ram, and will read the Rom header on 04, adding it to the Roms list.

EPDOS2X  also needs some more configuration executing some batch files from a floppy disk(EXDOS needed), I am not going to continue with it, but at least the special hybrid cartridge can be simulated with the SF3. This is theory, sorry.... I still have not tested it...  

Once the experiment being over, remember to erase ROM004.BIN on the Romtable dir and the Ram definition line on the INI file.

--------

I understand that the concept of "write-protected Ram" instead of ROM can be strange, but it is how the SF3 works inside. And I also know that EPDOS2X was not the best Rom example to demonstrate the use of emulated Roms on the SF3....

On Enterprises provided with the Quick Ram Test from Zozo, the emulated ROMs can be erased from system if F4+Reset are pressed while on the Ram test.

-----

Why I have not used the Rom Manager program to do the EPDOS thing? because the Basic program only deals with the 60-7F zone, as it was inherited from the CPC.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.August.15. 19:53:06
Ok. Now that we have totally configured the SymbiFace3 card to boot, we can start playing with its long list of functions. A right... Let's ask the question:

How can I start managing the SF3's functions?

Every little aspect of the SF3 can be managed through reading and writing Z80 ports.

Ports are the way the processor has to communicate with external hardware devices, this is, external to the Z80. For example, Nick, Dave, EXDOS are all external devices for the Z80, but they have been integrated on EXOS, so you can manage them easily by commands from machine code, Basic or other programs.

SF3 is still very new to the Enterprise so, by now, we will manage it with IN and OUT simply commands. But even so, SF3 has some modes of control that can make very easy to interact with it.

The card uses two ranges of ports, 40h-4Fh(64-79 decimal) for the main card functions, and 20h-2Fh(32-47 decimal) to control the sound/storage side, inherited from the MSX SE-ONE cartridge.

Sadly, the 40h-44h range of z80 ports is also used by the Hardware Spectrum Emulator, so the two cards are by now incompatible. Zozo says that it is possible to move the port range on the Spectrum emulator to other zone, better than to move the SF3 ports range, which the Enterprise shares(more or less...) with MSX, CPC and PCW.

On the SF3 manual(Enterprise downloading area  on Hans Page (https://drive.google.com/drive/folders/1oB4hK69VODDx04XLaXJwGLEbGX-OmYD3?usp=sharing)) you can read all the command definitions with examples attached. Some will give sense to you, but others are intended only for very lower level configuration. Let see one example on how to manage the SF3:

[attachimg=1]
Observe: by now MIDI and SYNTH modes can only be set with AT commands. Explanation: later.

The SF3 heart is an Arm processor, a lot more faster than the Z80 so, what we do with a SF3 command is like ordering the Arm a task. An SF3 command starts usually as this, first write a 0 to port 65(41h) to signal it that a command is being ordered.

Now, one or more parameters are sent, writing them in a row to port 66(42h) .

To end, the command number is written to port 65(41h), in  this case 40 decimal.

But the Arm always needs to parse the command to be syntactically correct, is for that we must wait for an "Arm response" reading port 65(41h) until it returns a 0. 1 is idle and 2 is an error.

Imagine we want to select the MP3B SF3 Sound mode(default is MP3A). We can order it as this on Basic:

100 OUT 65,0 ! Start command
110 OUT 66,2 ! Parameter:   MP3B mode
120 OUT 65,40 ! Command: Set sound mode
130 A=IN(65)
140 IF A=1 THEN GOTO 130 !wait for Arm response
150 IF A=2 THEN GOTO ERR
.... continue program.

Usually "Arm response" is put on a subroutine to not repeat the same lines on every SF3 command.

As you can see, "doing something" on the SF3 is not so overwhelming than it can appear.....
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.November.11. 10:32:38
I have not thought about it until recently: it is a pain to wait for the memory check on a stock Enterprise with lot of memory.

So this is the question: is there a way to skip the EXOS memory check with a SF3 connected?

Fortunately, yes. The solution comes from Zozo, of course, and his Fast memory check, that we can inject on segment 04(Cartridge memory are the 04-07 segment range) and will test the memory on a fraction of the time. It also brings us some other functions, like advanced tests, type and frequency of the Z80, and the enhanced WP2.6 text editor.

To install it we must left unplugged the Basic cartridge, and add the following lines to the SF3_EP.INI file:

Code: [Select]
ROM[4]=SD:EP/WP26.ROM
ROM[5]=SD:EP/BASIC21.ROM

Then download and place the following Roms on the SD:EP/ directory of your SF3 SD card.

Remember to not plug the cartridge on its bay while you have Roms injected with the SF3 on the cartridge addressing range, or it will cause a hang.

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

Now, a little technical explanation about why Zozo's Fast memory check intercepts the original memory test:

One of the very first things that the EXOS Rom does when the Enterprise boots is to check if there is an special Rom on the 04 segment. Usually the first characters on a Rom header, for example on the Basic Rom, are "EXOS_ROM", but if that special Rom has the string "TEST_ROM",  the boot process is halted and the control is passed to the program in the Test Rom.

This probably was useful on software/hardware development or on quality control after manufacturing the computer.

What Zozo's FastMemoryTest does is to perform its own test and then return the control to the EXOS Rom, but just on the point after the stock memory check is already done.
Title: Re: Questions about SymbiFace3
Post by: BruceTanner on 2020.November.11. 11:39:40
This probably was useful on...quality control after manufacturing the computer.
Yes, there was a test cartridge that was used in the factory to make sure every aspect of the EP hardware worked after manufacture. But I don't think we have it now.
Title: Re: Questions about SymbiFace3
Post by: gflorez on 2020.November.11. 12:19:21
The tests Roms (https://enterpriseforever.com/hall-of-fame/qa-with-werner-lindner-technical-director-of-the-enterprise-computers-gmbh/msg45950/#msg45950) surfaced on Werner's inventory, and also there was an Hungarian bootleg Rom made from the original tests.

This other commentary (https://enterpriseforever.com/hall-of-fame/qa-with-werner-lindner-technical-director-of-the-enterprise-computers-gmbh/msg46038/#msg46038) is about the machine used for tests at the factory.

Title: Re: Questions about SymbiFace3
Post by: BruceTanner on 2020.November.11. 13:33:29
The tests Roms (https://enterpriseforever.com/hall-of-fame/qa-with-werner-lindner-technical-director-of-the-enterprise-computers-gmbh/msg45950/#msg45950) surfaced on Werner's inventory, and also there was an Hungarian bootleg Rom made from the original tests.
Oh yes, I forgot that :oops: thank you! :)