Pi1MHz Software

discuss both original and modern hardware for the bbc micro/electron
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

Yes, that was a new LUN - made by using the select command (equivalent of using the * command in the Util ROM) rather than doing anything to the SD card. I did it wrong actually, should have been 64 heads, so it only gives me a 256 disc!
Image
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Interesting I don't get bad FSmap while trying to read the defect list
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

No, that was after a false start where I'd already tried formatting...it should be disc error &2C on a "fresh" LUN.

It would be interesting if the Adaptec Read Capacity command could be implemented, might give us a clue about what the controller thinks the disc size is straight after a format.
Image
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

totally untested , but Read capacity may now work.
Attachments
Pi1MHz_20220528_2249_root.zip
(1.31 MiB) Downloaded 35 times
Last edited by dp11 on Sat May 28, 2022 10:52 pm, edited 1 time in total.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

Can you confirm if the Pi1MHz software can run on either the Pi4, or the Pi Zero 2 W?

Thanks
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Pizero2 is supported Pi4 isn't yet.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

I can't get the software you posted yesterday or today to run on my Pi Zero 2, but it runs ok on my Zero W and older Zero just fine. Is that expected behaviour?

The software on your github page seems to run on all three variants without any problem.
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Okay I'll check pizero 2 and see what I have done wrong.
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

The latest version posted doesn't work at all, Pi1MHz SCSI isn't recognised.
Image
AndyGarton
Posts: 311
Joined: Tue May 21, 2013 3:47 pm
Contact:

Re: Pi1MHz Software

Post by AndyGarton »

dp11 wrote: Fri May 27, 2022 10:48 pm This is very much an alpha version, but should hopefully fix the formatting issues that have been reported. Please test. If you find any issues including any outstanding issues that haven't been addressed please let me know.
This version works for me, when starting from scratch with the "Quickstart LUN" from the BeebSCSI website. I used the SUPERFORM provided in that LUN to create and format LUNs 1, 2 and 3 successfully.

(I did notice fwiw that the size of these new ones is 524172kb, when the original LUN 0 is 524140. No idea if that is a problem and/or expected, but it doesn't cause any obvious issues at least.)
AndyGarton
Posts: 311
Joined: Tue May 21, 2013 3:47 pm
Contact:

Re: Pi1MHz Software

Post by AndyGarton »

BeebMaster wrote: Sun May 29, 2022 2:33 pm The latest version posted doesn't work at all, Pi1MHz SCSI isn't recognised.
It works ok here fwiw - I didn't do much with it mind, just booted up and moved around and listed a few directories on my drives.

(To be clear, I used the first beta provided, version 2239, to actually do the formatting tests.)
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Thanks for the feedback. Latest version attached.
Attachments
Pi1MHz_20220602_1100_root.zip
(1.19 MiB) Downloaded 36 times
AndyGarton
Posts: 311
Joined: Tue May 21, 2013 3:47 pm
Contact:

Re: Pi1MHz Software

Post by AndyGarton »

Thanks, do you consider that safe to use as a “release” version (I’ve currently reverted the two test versions above, even though they seem to work fine)?
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Given I'm the only person to have tested this version like the community to have a play first just incase I have made a mistake. I can't see how I could have broken it, but i've said that before.
AndyGarton
Posts: 311
Joined: Tue May 21, 2013 3:47 pm
Contact:

Re: Pi1MHz Software

Post by AndyGarton »

Understood, I will try it as soon as I can and report back.
AndyGarton
Posts: 311
Joined: Tue May 21, 2013 3:47 pm
Contact:

Re: Pi1MHz Software

Post by AndyGarton »

All good here. I did noticed that a *CAT on power on on my Master 128 will hang, I need to do a Ctrl-Boot first. I think this might have always been the case though, perhaps related to the Pi not being fully ready?
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Yeah the pi takes about 1.8seconds to be ready. I'm looking at speeding this up. But it's not easy.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

dp11 wrote: Thu Jun 02, 2022 11:12 am Thanks for the feedback. Latest version attached.
I've not tried any of the formatting stuff, but other usual functions seem to be working fine for me on both Pi Zero and Pi Zero 2 W.

Thanks.
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

I just tried the latest version 220602 1100, but I still have the same problem with formatting, the verification goes on forever. Exiting out of it and writing an ADFS map & root and then verifying again solves the problem. So it looks like when it exits from the format call, it hasn't updated the size of the LUN in its internals, so the verify keeps going presumably until it falls off the end of the SD card.
Image
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

Not sure what it is really because after the format with verify being aborted, read capacity gives the right value, so somehow that isn't feeding into a "volume overflow" or "illegal address" error which should halt the verify when the disc capacity is reached, or maybe it's just not checking that the verify operation is reading outside the FAT LUN file on the card:
Screenshot 2022-07-15 16-55-06.png
Screenshot 2022-07-15 16-57-07.png
Screenshot 2022-07-15 16-57-34.png
Screenshot 2022-07-15 16-58-24.png
Also, can it set the number of sectors per track depending on the value of the Interleave at format please (as per Adaptec manual, interleave = 1 = spt 32, interleave <>1 = spt = 33)? Last time I looked at the code, it was hard wired to 33 spt all over the place (as seen in the capacity calc above, which is 1024 x 64 x 33).

In "Superform", you don't get a choice of interleave, it sets it to 5, so spt will always be 33, which is good for Winchester discs as it gives a bit more capacity, but for SD cards, since we can easily have the maximum ADFS disc size of 512MB, it makes much more sense to use a round geometry of 1024 cylinders, 64 heads and 32 sectors per track.
Image
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

I thought I would have a go at modifying the code to see if I can do something about the 32/33 spt thing, but first I wanted to make sure I could compile it, so I downloaded and unzipped the master, but when I try to use release.sh or build it more manually, I get this:

Code: Select all

Scanning dependencies of target gitversion
Running version.sh script
version.sh: line 7: git: command not found
version.sh: line 10: git: command not found
version:
    
gitversion.h:
    #define GITVERSION ""
[  0%] Built target gitversion
Scanning dependencies of target Pi1MHz
[  4%] Building C object CMakeFiles/Pi1MHz.dir/ram_emulator.c.obj
arm-none-eabi-gcc: error: unrecognized command line option '-fanalyzer'
[  8%] Building ASM object CMakeFiles/Pi1MHz.dir/rpi/arm-start.S.obj
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:76: CMakeFiles/Pi1MHz.dir/ram_emulator.c.obj] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 12%] Building C object CMakeFiles/Pi1MHz.dir/rpi/armc-cstubs.c.obj
[ 16%] Building C object CMakeFiles/Pi1MHz.dir/Pi1MHz.c.obj
arm-none-eabi-gcc: error: unrecognized command line option '-fanalyzer'
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:94: CMakeFiles/Pi1MHz.dir/rpi/armc-cstubs.c.obj] Error 1
arm-none-eabi-gcc: error: unrecognized command line option '-fanalyzer'
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:63: CMakeFiles/Pi1MHz.dir/Pi1MHz.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/Pi1MHz.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
Anybody know what I am doing wrong?
Image
User avatar
sweh
Posts: 3314
Joined: Sat Mar 10, 2012 12:05 pm
Location: 07410 New Jersey
Contact:

Re: Pi1MHz Software

Post by sweh »

The "-fanalyzer" option came in with gcc-10. It's possible your arm-none-eabi-gcc cross compiler version is older than that (on my Debian 10 machine it's 7.3.1 so do doesn't understand it.

You can delete the -fanalyzer line from src/CMakeLists.txt to disable it, or you can upgrade your build environment. I dunno what the minimum gcc version recommended to build this is, nor whether code produced by older versions will work properly.

I think there's also an error in src/framebuffer.c ; it's trying to include MODE7Font.h but the file is Mode7Font.h so the #include line needs to be fixed.

With those two changes it compiled on my Debian 10 machine!
Rgds
Stephen
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

I did download the ARM tools from the link in Readme.md but it looks like I already had some installed. What do I do with the new extracted tools - do they just get dropped into /usr/bin or somewhere?

I commented out

set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fanalyzer" )

from CMakeLists.txt and it let me get a bit further. Next problem was it said it couldn't find MODE7font.h because everything in Linux is case-sensitive, so I copied Mode7font.h as MODE7font.h and then it compiled, but I got a lot of warnings (this is a snippet as it wouldn't let me post the whole thing)

Code: Select all

 ./release.sh
-- The C compiler identification is GNU 9.2.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-none-eabi-gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/scripts
Scanning dependencies of target gitversion
Running version.sh script
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
version:
    
gitversion.h:
    #define GITVERSION ""
[  0%] Built target gitversion
Scanning dependencies of target Pi1MHz
[  4%] Building C object CMakeFiles/Pi1MHz.dir/Pi1MHz.c.obj
[  8%] Building C object CMakeFiles/Pi1MHz.dir/rpi/performance.c.obj
[ 12%] Building C object CMakeFiles/Pi1MHz.dir/ram_emulator.c.obj
[ 16%] Building C object CMakeFiles/Pi1MHz.dir/rpi/audio.c.obj
[ 20%] Building C object CMakeFiles/Pi1MHz.dir/rpi/mailbox.c.obj
[ 32%] Building C object CMakeFiles/Pi1MHz.dir/rpi/exception.c.obj
[ 32%] Building C object CMakeFiles/Pi1MHz.dir/rpi/auxuart.c.obj
[ 32%] Building C object CMakeFiles/Pi1MHz.dir/rpi/info.c.obj
[ 36%] Building C object CMakeFiles/Pi1MHz.dir/rpi/gpio.c.obj
[ 40%] Building ASM object CMakeFiles/Pi1MHz.dir/rpi/arm-start.S.obj
[ 44%] Building C object CMakeFiles/Pi1MHz.dir/rpi/armc-cstubs.c.obj
[ 48%] Building C object CMakeFiles/Pi1MHz.dir/rpi/cache.c.obj
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c: In function 'RPI_SetGpioPinFunction':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:11:13: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
   11 |   fsel_copy |= (func << ((gpio % 10) * 3));
      |             ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/exception.c: In function 'dump_digit':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/exception.c:21:11: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion]
   21 |       c = '0' + c;
      |           ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/exception.c:23:11: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion]
   23 |       c = 'A' + c - 10;
      |           ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c: In function 'RPI_SetGpioHi':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:70:30: warning: conversion to 'rpi_reg_wo_t' {aka 'volatile long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   70 |       RPI_GpioBase->GPSET0 = (1 << gpio);
      |                              ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:74:30: warning: conversion to 'rpi_reg_wo_t' {aka 'volatile long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   74 |       RPI_GpioBase->GPSET1 = (1 << (gpio - 32));
      |                              ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c: In function 'RPI_SetGpioLo':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:87:30: warning: conversion to 'rpi_reg_wo_t' {aka 'volatile long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   87 |       RPI_GpioBase->GPCLR0 = (1 << gpio);
      |                              ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:91:30: warning: conversion to 'rpi_reg_wo_t' {aka 'volatile long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   91 |       RPI_GpioBase->GPCLR1 = (1 << (gpio - 32));
      |                              ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c: In function 'RPI_SetGpioPull':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/gpio.c:121:29: warning: conversion to 'rpi_reg_wo_t' {aka 'volatile long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  121 |   RPI_GpioBase->GPPUDCLK0 = 1<<gpio;
      |                             ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c: In function 'ram_emulator_byte_addr':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c:44:61: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   44 |       case 1:  byte_ram_addr = (byte_ram_addr & 0xFFFF00FF) | data<<8; break;
      |                                                             ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c:45:61: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   45 |       default: byte_ram_addr = (byte_ram_addr & 0xFF00FFFF) | data<<16; break;
      |                                                             ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/performance.c: In function 'reset_performance_counters':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/performance.c:186:19: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  186 |          cntenset |= (1 << i);
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c: In function 'ram_emulator_page_addr':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c:67:52: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   67 |       page_ram_addr = (page_ram_addr & 0x00FFFFFF) | data<<24;
      |                                                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c:70:52: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   70 |       page_ram_addr = (page_ram_addr & 0xFF00FFFF) | data<<16;
      |                                                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/ram_emulator.c:72:52: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
   72 |       page_ram_addr = (page_ram_addr & 0xFFFF00FF) | data<<8;
      |                                                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/audio.c: In function 'init_dma_buffer':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/audio.c:85:20: warning: conversion from 'int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
   85 |    buffer_state |= 1<<buf;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/Pi1MHz.c: In function 'init_JIM':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/Pi1MHz.c:327:45: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  327 |    JIM_ram = (uint8_t *) malloc(16*1024*1024*JIM_ram_size); // malloc 480Mbytes
      |                                 ~~~~~~~~~~~~^~~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/Pi1MHz.c:330:63: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  330 |    if (!filesystemReadFile("JIM_Init.bin",JIM_ram,JIM_ram_size<<24))
      |                                                   ~~~~~~~~~~~~^~~~
[ 52%] Building C object CMakeFiles/Pi1MHz.dir/rpi/rpi.c.obj
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/cache.c: In function '_clean_cache_area':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/cache.c:121:20: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  121 |    cachelinesize = 4<<cachelinesize;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/cache.c: In function '_invalidate_cache_area':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/rpi/cache.c:145:20: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  145 |    cachelinesize = 4<<cachelinesize;
      |                    ^
[ 56%] Building C object CMakeFiles/Pi1MHz.dir/rpi/systimer.c.obj
[ 60%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/debug.c.obj
[ 68%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/fatfs/diskio.c.obj
[ 68%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/fatfs/ff.c.obj
[ 72%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/fatfs/ffunicode.c.obj
[ 76%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/filesystem.c.obj
[ 80%] Building C object CMakeFiles/Pi1MHz.dir/BeebSCSI/scsi.c.obj
[ 84%] Building C object CMakeFiles/Pi1MHz.dir/harddisc_emulator.c.obj
[ 88%] Building C object CMakeFiles/Pi1MHz.dir/rpi/sdcard.c.obj
[ 92%] Building C object CMakeFiles/Pi1MHz.dir/M5000_emulator.c.obj
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'ld_word':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:619:7: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
  619 |  rv = rv << 8 | ptr[0];
      |       ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'tchar2uni':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:786:8: warning: conversion from 'int' to 'WCHAR' {aka 'short unsigned int'} may change value [-Wconversion]
  786 |   wc = (WCHAR)(wc << 8) + b;  /* Make a DBC */
      |        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'get_fat':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1153:7: warning: conversion to 'UINT' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
 1153 |    wc |= fs->win[bc % SS(fs)] << 8; /* Merge 2nd byte of the entry */
      |       ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/debug.c: In function 'debugSectorBufferHex':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/debug.c:135:76: warning: conversion from 'int' to 'uint16_t' {aka 'short unsigned int'} may change value [-Wconversion]
  135 |    for (uint16_t byteNumber = 0; byteNumber < numberOfBytes; byteNumber += 16)
      |                                                                            ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'put_fat':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1227:9: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 1227 |    *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; /* Update 1st byte */
      |         ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1232:9: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 1232 |    *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); /* Update 2nd byte */
      |         ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'dir_next':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1736:22: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1736 |    if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */
      |                      ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'cmp_lfn':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1865:35: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1865 |  i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13u; /* Offset in the LFN buffer */
      |                                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'put_lfn':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1944:16: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1944 |  i = (ord - 1) * 13u;    /* Get offset in the LFN working buffer */
      |                ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'gen_numname':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:1997:21: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 1997 |   if (c > '9') c += 7;
      |                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'dir_read':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2323:12: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 2323 |      ord = (b == ord && sum == dp->dir[LDIR_Chksum] && pick_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF;
      |            ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'dir_find':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2408:12: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 2408 |      ord = (c == ord && sum == dp->dir[LDIR_Chksum] && cmp_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF;
      |            ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'get_fileinfo':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2683:58: warning: conversion from 'int' to 'WCHAR' {aka 'short unsigned int'} may change value [-Wconversion]
 2683 |     if (IsUpper(wc) && (dp->dir[DIR_NTres] & lcf)) wc += 0x20;
      |                                                          ^~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'create_name':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2876:35: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 2876 |    si = di; i = 8; ni = 11; b <<= 2;  /* Enter name extension */
      |                                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2911:20: warning: conversion from 'int' to 'WCHAR' {aka 'short unsigned int'} may change value [-Wconversion]
 2911 |      b |= 1; wc -= 0x20;
      |                    ^~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:2920:21: warning: conversion from 'int' to 'BYTE' {aka 'unsigned char'} may change value [-Wconversion]
 2920 |  if (ni == 8) b <<= 2;    /* Shift capital flags if no extension */
      |                     ^
[ 96%] Building C object CMakeFiles/Pi1MHz.dir/framebuffer.c.obj
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'f_read':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:3875:37: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 3875 |    csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */
      |                                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'f_write':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:3977:38: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 3977 |    csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */
      |                                      ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c: In function 'f_lseek':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ff.c:4426:40: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 4426 |     dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1);
      |                                        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c: In function 'ff_wtoupper':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15573:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15573 |     case 1: uc -= (uc - bc) & 1; break; /* Case pairs */
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15574:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15574 |     case 2: uc -= 16; break;   /* Shift -16 */
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15575:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15575 |     case 3: uc -= 32; break;   /* Shift -32 */
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15576:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15576 |     case 4: uc -= 48; break;   /* Shift -48 */
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15577:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15577 |     case 5: uc -= 26; break;   /* Shift -26 */
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15578:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15578 |     case 6: uc += 8; break;    /* Shift +8 */
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15579:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15579 |     case 7: uc -= 80; break;   /* Shift -80 */
      |                   ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/BeebSCSI/fatfs/ffunicode.c:15580:19: warning: conversion from 'int' to 'WORD' {aka 'short unsigned int'} may change value [-Wconversion]
15580 |     case 8: uc -= 0x1C60; break;  /* Shift -0x1C60 */
      |                   ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'set_colour':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:115:37: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  115 |    colour_table[index] = 0xFF000000 | ((b & 0xFF) << 16) | ((g & 0xFF) << 8) | (r & 0xFF);
      |                                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:115:58: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  115 |    colour_table[index] = 0xFF000000 | ((b & 0xFF) << 16) | ((g & 0xFF) << 8) | (r & 0xFF);
      |                                                          ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'update_palette':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:119:41: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  119 |    RPI_PropertyStart(TAG_SET_PALETTE, 2 + num_colours);
      |                                       ~~^~~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:120:28: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  120 |    RPI_PropertyAddTwoWords(offset , num_colours);
      |                            ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:120:37: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  120 |    RPI_PropertyAddTwoWords(offset , num_colours);
      |                                     ^~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:122:43: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  122 |       RPI_PropertyAdd(colour_table[offset + i]);
      |                                           ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_putpixel':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:230:65: warning: conversion from 'unsigned int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
  230 |    *(uint8_t *)(fb + (SCREEN_HEIGHT - y - 1) * pitch + x * 1) = get_colour(colour);
      |                                                                 ^~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'memsetquick':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:287:14: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  287 |   uint32_t a=value;
      |              ^~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_scroll':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:355:44: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  355 |    memmovequick(fbcache, fbcache + cheight * pitch * c_y_scale, (height - cheight)* c_y_scale * pitch);
      |                                            ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:355:95: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  355 |    memmovequick(fbcache, fbcache + cheight * pitch * c_y_scale, (height - cheight)* c_y_scale * pitch);
      |                                                                                               ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:357:56: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  357 |    memsetquick(fbcache + (height - cheight)* c_y_scale * pitch, 0, cheight * c_y_scale * pitch);
      |                                                        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:357:88: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  357 |    memsetquick(fbcache + (height - cheight)* c_y_scale * pitch, 0, cheight * c_y_scale * pitch);
      |                                                                                        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_clear':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:372:28: warning: conversion to 'int' from 'unsigned int' may change the sign of the result [-Wsign-conversion]
  372 |    memsetquick((void *)fb, get_colour(c_bg_col), height * pitch);
      |                            ^~~~~~~~~~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:372:57: warning: conversion to 'size_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  372 |    memsetquick((void *)fb, get_colour(c_bg_col), height * pitch);
      |                                                  ~~~~~~~^~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_cursor_left':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:381:21: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  381 |       c_x_pos-= bpp * c_x_scale;
      |                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:383:25: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  383 |       c_x_pos = c_x_max * bpp * c_x_scale;
      |                         ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_cursor_right':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:388:26: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  388 |    if (c_x_pos < c_x_max * bpp * c_x_scale) {
      |                          ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:389:21: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  389 |       c_x_pos+= bpp * c_x_scale;
      |                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_cursor_next':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:421:26: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  421 |    if (c_x_pos < c_x_max * bpp * c_x_scale) {
      |                          ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:422:21: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  422 |       c_x_pos+= bpp * c_x_scale;
      |                     ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_draw_ellipse':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:576:42: warning: declaration of 'width' shadows a global declaration [-Wshadow]
  576 | void fb_draw_ellipse(int xc, int yc, int width, int height, unsigned int colour) {
      |                                      ~~~~^~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:177:17: note: shadowed declaration is here
  177 | static uint16_t width, height;
      |                 ^~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:576:53: warning: declaration of 'height' shadows a global declaration [-Wshadow]
  576 | void fb_draw_ellipse(int xc, int yc, int width, int height, unsigned int colour) {
      |                                                 ~~~~^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:177:24: note: shadowed declaration is here
  177 | static uint16_t width, height;
      |                        ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_fill_ellipse':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:613:42: warning: declaration of 'width' shadows a global declaration [-Wshadow]
  613 | void fb_fill_ellipse(int xc, int yc, int width, int height, unsigned int colour) {
      |                                      ~~~~^~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:177:17: note: shadowed declaration is here
  177 | static uint16_t width, height;
      |                 ^~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:613:53: warning: declaration of 'height' shadows a global declaration [-Wshadow]
  613 | void fb_fill_ellipse(int xc, int yc, int width, int height, unsigned int colour) {
      |                                                 ~~~~^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:177:24: note: shadowed declaration is here
  177 | static uint16_t width, height;
      |                        ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_fill_area':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:763:16: warning: unsigned conversion from 'int' to 'unsigned int' changes value from '-1' to '4294967295' [-Wsign-conversion]
  763 |       colour = -1;  // prevents any additional line drawing
      |                ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:796:16: warning: unsigned conversion from 'int' to 'unsigned int' changes value from '-1' to '4294967295' [-Wsign-conversion]
  796 |       colour = -1;  // prevents any additional line drawing
      |                ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:805:23: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
  805 |       g_x_pos_last1 = x_left;
      |                       ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:806:23: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
  806 |       g_y_pos_last1 = y_left;
      |                       ^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:807:23: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
  807 |       g_x_pos_last2 = x_right;
      |                       ^~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:808:23: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
  808 |       g_y_pos_last2 = y_right;
      |                       ^~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_get_bpp':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:823:11: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
  823 |    return bpp;
      |           ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_draw_character':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:860:20: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  860 |    uint32_t ch = c * cheight;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:885:72: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  885 |       uint8_t *fbptr = fb + c_x_pos + (c_y_pos + i*c_y_scale + scaley) * pitch;
      |                                                                        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:892:20: warning: conversion to 'int' from 'uint32_t' {aka 'long unsigned int'} may change the sign of the result [-Wsign-conversion]
  892 |          int col = (data & 0x80) ? c_fgol : c_bgol;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:892:20: warning: conversion to 'int' from 'uint32_t' {aka 'long unsigned int'} may change the sign of the result [-Wsign-conversion]
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:896:28: warning: conversion from 'int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
  896 |                *fbptr++ ^= col;
      |                            ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:898:27: warning: conversion from 'int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
  898 |                *fbptr++ = col;
      |                           ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'init_colour_table':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:948:18: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  948 |       set_colour(i, r, g, b);
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:951:18: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
  951 |       set_colour(i, 0, 0, 0);
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_writec':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1045:24: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1045 |             set_colour(l, r, g, b);
      |                        ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1083:17: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
 1083 |          temp = c -32;
      |                 ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1085:30: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1085 |          BBCFont[temp*cheight+(count -1)] = c;
      |                              ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1085:45: warning: conversion from 'int' to 'unsigned char' may change value [-Wconversion]
 1085 |          BBCFont[temp*cheight+(count -1)] = c;
      |                                             ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1099:19: warning: conversion from 'int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
 1099 |          g_mode = c;
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1102:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1102 |          x_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1105:19: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1105 |          x_tmp |= c << 8;
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1108:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1108 |          y_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1111:19: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1111 |          y_tmp |= c << 8;
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1121:38: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1121 |             update_g_cursors(g_x_pos + x_tmp, g_y_pos + y_tmp);
      |                              ~~~~~~~~^~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1121:55: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1121 |             update_g_cursors(g_x_pos + x_tmp, g_y_pos + y_tmp);
      |                                               ~~~~~~~~^~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1143:77: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1143 |                fb_draw_line(g_x_pos_last1, g_y_pos_last1, g_x_pos, g_y_pos, col);
      |                                                                             ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1149:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1149 |                fb_fill_area(g_x_pos, g_y_pos, col, HL_LR_NB);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1152:111: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1152 |                fb_fill_triangle(g_x_pos_last2, g_y_pos_last2, g_x_pos_last1, g_y_pos_last1, g_x_pos, g_y_pos, col);
      |                                                                                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1155:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1155 |                fb_fill_area(g_x_pos, g_y_pos, col, HL_RO_BG);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1158:82: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1158 |                fb_fill_rectangle(g_x_pos_last1, g_y_pos_last1, g_x_pos, g_y_pos, col);
      |                                                                                  ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1161:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1161 |                fb_fill_area(g_x_pos, g_y_pos, col, HL_LR_FG);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1164:116: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1164 |                fb_fill_parallelogram(g_x_pos_last2, g_y_pos_last2, g_x_pos_last1, g_y_pos_last1, g_x_pos, g_y_pos, col);
      |                                                                                                                    ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1167:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1167 |                fb_fill_area(g_x_pos, g_y_pos, col, HL_RO_NF);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1170:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1170 |                fb_fill_area(g_x_pos, g_y_pos, col, AF_NONBG);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1173:47: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1173 |                fb_fill_area(g_x_pos, g_y_pos, col, AF_TOFGD);
      |                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1177:69: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1177 |                fb_draw_circle(g_x_pos_last1, g_y_pos_last1, radius, col);
      |                                                                     ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1181:69: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1181 |                fb_fill_circle(g_x_pos_last1, g_y_pos_last1, radius, col);
      |                                                                     ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1184:82: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1184 |                fb_draw_rectangle(g_x_pos, g_y_pos, g_x_pos_last1, g_y_pos_last1, col);
      |                                                                                  ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1187:116: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1187 |                fb_draw_parallelogram(g_x_pos, g_y_pos, g_x_pos_last1, g_y_pos_last1, g_x_pos_last2, g_y_pos_last2, col);
      |                                                                                                                    ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1190:111: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1190 |                fb_draw_triangle(g_x_pos, g_y_pos, g_x_pos_last1, g_y_pos_last1, g_x_pos_last2, g_y_pos_last2, col);
      |                                                                                                               ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1193:209: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1193 | b_draw_ellipse(g_x_pos_last2, g_y_pos_last2, max(/*abs(g_x_pos_last1 - g_x_pos_last2)*/0, abs(g_x_pos - g_x_pos_last2) ), max(abs(g_y_pos - g_y_pos_last2),abs(g_y_pos_last1 - g_y_pos_last2)), col);
      |                                                                                                                                                                                                 ^~~

/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1196:128: warning: conversion to 'unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1196 |                fb_fill_ellipse(g_x_pos_last2, g_y_pos_last2, abs(g_x_pos_last1 - g_x_pos_last2), abs(g_y_pos - g_y_pos_last2), col);
      |                                                                                                                                ^~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1211:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1211 |          x_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1214:19: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1214 |          x_tmp |= c << 8;
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1217:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1217 |          y_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1220:19: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1220 |          y_tmp |= c << 8;
      |                   ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1238:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1238 |          x_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1242:18: warning: conversion from 'int' to 'int16_t' {aka 'short int'} may change value [-Wconversion]
 1242 |          y_tmp = c;
      |                  ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1243:32: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
 1243 |          c_x_pos = x_tmp * bpp * c_x_scale;
      |                                ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1244:26: warning: conversion to 'long unsigned int' from 'int16_t' {aka 'short int'} may change the sign of the result [-Wsign-conversion]
 1244 |          c_y_pos = y_tmp * c_y_scale * cheight;
      |                          ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1275:20: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
 1275 |          c_x_pos = ((g_x_pos + g_x_origin)*SCREEN_WIDTH)/BBC_X_RESOLUTION;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1276:20: warning: conversion to 'uint32_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion]
 1276 |          c_y_pos = ((BBC_Y_RESOLUTION - (g_y_pos + g_y_origin))*SCREEN_HEIGHT)/BBC_Y_RESOLUTION ;
      |                    ^
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c: In function 'fb_initialize':
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1418:17: warning: conversion from 'uint32_t' {aka 'long unsigned int'} to 'uint16_t' {aka 'short unsigned int'} may change value [-Wconversion]
 1418 |         width = mp->data.buffer_32[0];
      |                 ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1419:18: warning: conversion from 'uint32_t' {aka 'long unsigned int'} to 'uint16_t' {aka 'short unsigned int'} may change value [-Wconversion]
 1419 |         height = mp->data.buffer_32[1];
      |                  ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1427:15: warning: conversion to 'int' from 'uint32_t' {aka 'long unsigned int'} may change the sign of the result [-Wsign-conversion]
 1427 |         bpp = mp->data.buffer_32[0];
      |               ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1435:17: warning: conversion to 'int' from 'uint32_t' {aka 'long unsigned int'} may change the sign of the result [-Wsign-conversion]
 1435 |         pitch = mp->data.buffer_32[0];
      |                 ^~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1460:15: warning: passing argument 1 of 'fb_writes' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1460 |     fb_writes("\r\n\r\nAcorn MOS\r\n\r\nPi1MHz\r\n\r\nBASIC\r\n\r\n>");
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1390:29: note: expected 'char *' but argument is of type 'const char *'
 1390 | static void fb_writes(char *string) {
      |                       ~~~~~~^~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:1487:28: warning: conversion from 'int' to 'uint8_t' {aka 'unsigned char'} may change value [-Wconversion]
 1487 |                 *fbptr++ = col;
      |                            ^~~
At top level:
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:822:17: warning: 'fb_get_bpp' defined but not used [-Wunused-function]
  822 | static uint32_t fb_get_bpp() {
      |                 ^~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:818:17: warning: 'fb_get_height' defined but not used [-Wunused-function]
  818 | static uint32_t fb_get_height() {
      |                 ^~~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:814:17: warning: 'fb_get_width' defined but not used [-Wunused-function]
  814 | static uint32_t fb_get_width() {
      |                 ^~~~~~~~~~~~
/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/framebuffer.c:810:17: warning: 'fb_get_address' defined but not used [-Wunused-function]
  810 | static uint32_t fb_get_address() {
      |                 ^~~~~~~~~~~~~~

Image
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

Compiled version doesn't work in my Pi1MHz, I just hear the Music 500 click repeating forever!
Image
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

Seems I have:

Code: Select all

gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
but that this is also the latest version apparently.
Image
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

I installed gcc-10 package, that didn't help, so then I downloaded this:

https://developer.arm.com/-/media/Files ... abi.tar.xz

and extracted it and copied the bin dir into /usr/bin but now:

Code: Select all

 ./release.sh
-- The C compiler identification is unknown
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-none-eabi-gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/scripts
Scanning dependencies of target gitversion
Running version.sh script
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
version:
    
gitversion.h:
    #define GITVERSION ""
[  0%] Built target gitversion
Scanning dependencies of target Pi1MHz
[  4%] Building C object CMakeFiles/Pi1MHz.dir/rpi/exception.c.obj
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
[  8%] Building C object CMakeFiles/Pi1MHz.dir/rpi/info.c.obj
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:146: CMakeFiles/Pi1MHz.dir/rpi/exception.c.obj] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 12%] Building C object CMakeFiles/Pi1MHz.dir/rpi/audio.c.obj
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
[ 20%] Building C object CMakeFiles/Pi1MHz.dir/Pi1MHz.c.obj
[ 20%] Building ASM object CMakeFiles/Pi1MHz.dir/rpi/arm-start.S.obj
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:172: CMakeFiles/Pi1MHz.dir/rpi/info.c.obj] Error 1
[ 24%] Building C object CMakeFiles/Pi1MHz.dir/ram_emulator.c.obj
[ 28%] Building C object CMakeFiles/Pi1MHz.dir/rpi/gpio.c.obj
[ 32%] Building C object CMakeFiles/Pi1MHz.dir/rpi/cache.c.obj
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
[ 40%] Building C object CMakeFiles/Pi1MHz.dir/rpi/auxuart.c.obj
[ 40%] Building C object CMakeFiles/Pi1MHz.dir/rpi/armc-cstubs.c.obj
[ 44%] Building C object CMakeFiles/Pi1MHz.dir/rpi/mailbox.c.obj
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:107: CMakeFiles/Pi1MHz.dir/rpi/audio.c.obj] Error 1
compilation terminated.
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:63: CMakeFiles/Pi1MHz.dir/Pi1MHz.c.obj] Error 1
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:76: CMakeFiles/Pi1MHz.dir/ram_emulator.c.obj] Error 1
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
arm-none-eabi-gcc: fatal error: cannot execute 'cc1': execvp: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:133: CMakeFiles/Pi1MHz.dir/rpi/cache.c.obj] Error 1
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:159: CMakeFiles/Pi1MHz.dir/rpi/gpio.c.obj] Error 1
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:89: CMakeFiles/Pi1MHz.dir/rpi/arm-start.S.obj] Error 1
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:185: CMakeFiles/Pi1MHz.dir/rpi/mailbox.c.obj] Error 1
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:94: CMakeFiles/Pi1MHz.dir/rpi/armc-cstubs.c.obj] Error 1
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:120: CMakeFiles/Pi1MHz.dir/rpi/auxuart.c.obj] Error 1
[ 48%] Building C object CMakeFiles/Pi1MHz.dir/rpi/performance.c.obj
arm-none-eabi-gcc: fatal error: cannot read spec file 'nosys.specs': No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/Pi1MHz.dir/build.make:198: CMakeFiles/Pi1MHz.dir/rpi/performance.c.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/Pi1MHz.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
I don't know whether I'm nearer or further away now!
Image
User avatar
sweh
Posts: 3314
Joined: Sat Mar 10, 2012 12:05 pm
Location: 07410 New Jersey
Contact:

Re: Pi1MHz Software

Post by sweh »

If I was gonna test this then what I would do is extract it to /opt/ to create /opt/gcc-arm.....whatever

Then I would do

Code: Select all

PATH=/opt/gcc-arm...whatever/bin:$PATH ./release.sh
That'll let the build process find the arm-none-eabi-gcc binary in that directory.

(That's assuming /opt is where the compiler should be installed; I have no idea!)
Rgds
Stephen
User avatar
BigEd
Posts: 6261
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Pi1MHz Software

Post by BigEd »

BTW, I always use the env command to do that job, as it works in all shells AFAIK

Code: Select all

env PATH=/opt/gcc-arm...whatever/bin:$PATH ./release.sh
In either case, it's a good idea, as it only affects that one command (and all its children.)
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

my guess is arm gcc is installed in a different place to what is expected so the paths are wrong somewhere. nosys.specs lives in arm-non-eabi/lib

I've fixed the case issue with Mode7Font.h
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Pi1MHz Software

Post by BeebMaster »

I uninstalled everything and re-installed gcc and gcc-arm-none-eabi so currently I have:

Code: Select all

ian@BMDesktop2020:/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/scripts$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 
ian@BMDesktop2020:/luks3/BMNFS/BBC/Pi1MHz/Pi1MHz-masterISWDev16-7-22/src/scripts$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
Target: arm-none-eabi
Configured with: ../configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/lib/include' --mandir='/usr/lib/share/man' --infodir='/usr/lib/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir='/usr/lib/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --mandir=/usr/share/man --enable-languages=c,c++,lto --enable-multilib --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --enable-tls --build=x86_64-linux-gnu --target=arm-none-eabi --with-system-zlib --with-gnu-as --with-gnu-ld --with-pkgversion=15:9-2019-q4-0ubuntu1 --without-included-gettext --prefix=/usr/lib --infodir=/usr/share/doc/gcc-arm-none-eabi/info --htmldir=/usr/share/doc/gcc-arm-none-eabi/html --pdfdir=/usr/share/doc/gcc-arm-none-eabi/pdf --bindir=/usr/bin --libexecdir=/usr/lib --libdir=/usr/lib --disable-libstdc++-v3 --host=x86_64-linux-gnu --with-headers=no --without-newlib --with-multilib-list=rmprofile CFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' CPPFLAGS='-Wdate-time -D_FORTIFY_SOURCE=2' CXXFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' FCFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' FFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' GCJFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' LDFLAGS='-Wl,-Bsymbolic-functions -Wl,-z,relro' OBJCFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' OBJCXXFLAGS='-g -O2 -fdebug-prefix-map=/build/gcc-arm-none-eabi-Gl9kT9/gcc-arm-none-eabi-9-2019-q4=. -fstack-protector-strong' INHIBIT_LIBC_CFLAGS=-DUSE_TM_CLONE_REGISTRY=0 AR_FOR_TARGET=arm-none-eabi-ar AS_FOR_TARGET=arm-none-eabi-as LD_FOR_TARGET=arm-none-eabi-ld NM_FOR_TARGET=arm-none-eabi-nm OBJDUMP_FOR_TARGET=arm-none-eabi-objdump RANLIB_FOR_TARGET=arm-none-eabi-ranlib READELF_FOR_TARGET=arm-none-eabi-readelf STRIP_FOR_TARGET=arm-none-eabi-strip
Thread model: single
gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (15:9-2019-q4-0ubuntu1) 
Then with the ARM tools I linked earlier unzipped, I did:

Code: Select all

env PATH=/luks3/BMNFS/Ubuntu/ARMDevTools/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin/:$PATH ./release.sh
But I still get hundreds of "warnings" and it doesn't work, just getting the Music 500 click and the Pi light flashing as if it's going round in an endless reboot loop.
Image
Post Reply

Return to “8-bit acorn hardware”