Welcome, Guest. Please login or register.


Author Topic: SymbiFace3 is near your Enterprise... (Read 88430 times)

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #15 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?

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #16 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.

[ Guests cannot view attachments ]

« Last Edit: 2019.April.29. 01:33:35 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #17 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.


[ Guests cannot view attachments ]

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.
« Last Edit: 2019.March.18. 10:24:43 by gflorez »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbiFace3 is near your Enterprise...
« Reply #18 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.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #19 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.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #20 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.

[ Guests cannot view attachments ]

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #21 on: 2019.April.11. 21:21:13 »
SF3 Working!

[ Guests cannot view attachments ]

Offline pear

  • EP lover
  • *
  • Posts: 825
  • Country: pl
  • Z80 only
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #22 on: 2019.April.12. 05:47:22 »
Where do you get so much time to play ? Envy :shock:

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #23 on: 2019.April.12. 08:20:45 »
On lunch time..... I have my Enterprises at work....
« Last Edit: 2019.April.12. 11:26:54 by gflorez »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: SymbiFace3 is near your Enterprise...
« Reply #24 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:

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #25 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...
« Last Edit: 2019.April.12. 11:18:33 by gflorez »

Offline pear

  • EP lover
  • *
  • Posts: 825
  • Country: pl
  • Z80 only
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #26 on: 2019.April.12. 11:21:33 »
Dirty, beauty ... the most important that it's working.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #27 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, CP/M native machines, intended more as electronic write machines than for computing.



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.

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.

[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

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.

[ Guests cannot view attachments ]

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.

[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
[ Guests cannot view attachments ]
« Last Edit: 2019.April.26. 16:04:07 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #28 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.
« Last Edit: 2019.May.10. 10:53:16 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: SymbiFace3 is near your Enterprise...
« Reply #29 on: 2019.May.15. 19:32:12 »