Post Reply 
FRAM71 : Configuration Spreadsheet [2021-01-31]
01-30-2021, 02:18 AM (This post was last modified: 02-01-2021 11:31 PM by Sylvain Cote.)
Post: #1
FRAM71 : Configuration Spreadsheet [2021-01-31]
Hello FRAM71 & FRAM71B Users !

Yesterday, Daniel Simpson came up with a great idea to automatically generate the FRAM71 configuration string within Numbers (Apple Spreadsheet Software).
Unfortunately there was several issues in it, after several iterations he was thinking to drop it and switch to Excel.
As a Mac user, I could not let that to happen Wink ... so I decided to give it a shot.
After several iterations and after rewriting all the formula I came up with a working Numbers version.
Then Robert Prosperi who was in the mailing list requested an Excel version, so I did as requested and I ported the Numbers spreadsheet to Excel. (see Robert correction post below)
Most of the credit should go to Daniel Simpson who came up with the idea and did most of the initial work. Thank you Daniel!

Have fun! Cool

Sylvain

Update #1: Didier Lachieze has created an Excel version with check boxes.
Update #2: Godwin Stewart has created a Web version.
Update #3: Completely reworked the post to make it more easy to read.
Update #4: Second version spreadsheet added.

Spreadsheets available: User's Manuals:
  • FRAM71B (Hardware v1.5, Firmware v6.07, "Denver 2016")
  • FRAM71 (Hardware v1.4, Firmware v5.11, "Nashville 2015")
Usage:
  • Grey cells should not be touched
  • Enable column only accept: unckeck/check or 0/1
  • LCIM column only accept: unckeck/check or 0/1
  • Type column only accept: RAM, IRAM or ROM
  • Size column only accept: 32, 16 or 8
  • F-Block column accept values 0 to 15
  • Comment column is a free form input field
  • Port column is a free form input field

Formula used in Numbers second version.

Chip #0 Values & Formulas:
Code:
Chip                 Text -> A2 = 0
Enable           Checkbox -> B2 = true or false
LCIM             Checkbox -> C2 = true or false
Type          Pop-Up Menu -> D2 = "RAM", "IRAM" or "ROM"
Size          Pop-Up Menu -> E2 = 32, 16, or 8
F-Block       Pop-Up Menu -> F2 = 0...15
C.Addr               Text -> G2 = 2C000
C.Addr               Text -> G3 = 2C001
Code:
Active test               -> IF($B2,CALCUL_HERE,"")
Last Chip in Mod. (bit 3) -> IF($C2,8,0) 
Memory Type       (bit 2) -> IF($D2="ROM",4,0) 
Memory Size    (bits 1+0) -> IF($E2=32,1,IF($E2=16,2,IF($E2=8,3,0)))
Code:
Cfg               Formula -> H2 = IF($B2,DEC2HEX(IF($C2,8,0)+IF($D2="ROM",4,0)+IF($E2=32,1,IF($E2=16,2,IF($E2=8,3,0))),1),"")
F.B               Formula -> H3 = IF($B2,DEC2HEX($F2,1),"")
Check             Formula -> J3 = IF($B2,IF(COUNTIF($I$2:$I$33,CONCATENATE("=",$I3))=1,"","Dup.FB"),"")
Value             Formula -> K2 = IF($B2,CONCATENATE(H2,$I3),"")

Poke Formula:
Code:
Configuration     Formula -> I34 = CONCATENATE(" POKE ",CHAR(34),"2C000",CHAR(34),",",CHAR(34),LEFT(CONCATENATE($K2,$K4,$K6,$K8,$K10,$K12,$K14,$K16,$K18,$K20,$K22,$K​24,$K26,$K28,$K30,$K32,"00000000000000000000000000000000"),32),CHAR(34))

Sylvain Côté Numbers second version:

[Image: FRAM71B_Configurator_20210131B_validation.jpg]

Daniel Simpson version:

[Image: FRAM71B_Configurator_20210128A_sample.jpg]

Sylvain Côté Numbers version:

[Image: FRAM71B_Configurator_20210129B_sample_numbers.jpg]

Sylvain Côté Excel version:

[Image: FRAM71B_Configurator_20210129B_sample_excel.jpg]

Didier Lachieze Excel version:

[Image: FRAM71B_Configurator_20210130A_sample_excel.jpg]

Godwin Stewart Web version:

[Image: FRAM71B_Configurator_20210131A_sample_web.jpg]
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
FRAM71 : Configuration Spreadsheet [2021-01-31] - Sylvain Cote - 01-30-2021 02:18 AM



User(s) browsing this thread: 1 Guest(s)