[changes] 15/4/2021

New features and project activity between releases
Post Reply
User avatar
dom
Well known member
Posts: 1398
Joined: Sun Jul 15, 2007 10:01 pm

[changes] 15/4/2021

Post by dom »

It's been a couple of weeks, so time for another round up.

(classic) %hh and %z specifiers for printf

* They don't do much, but added for compatibility reasons.

(classic) Add debounce capability for kbhit/getch

* Adding -pragma-define:CLIB_KBHIT_NOSTORE=1 will now debounce. Useful for --hardware-keyboard ports. Enabled by default for +sam

(classic) Generic console scrolling

* Correct a long standing issue that could cause scrolling to happen at the wrong time

(classic) - ZX* Compression

* ZX0 is now available for the 8080
* Some flavours of ZX0,ZX1,ZX2 are now available for +gb

(classic) +gl -clib=gl6000sl screen clearing

* The whole of the display should now be cleared rather than leaving 4px rows untouched

(classic) +sam - Heap handling

* The heap is now correctly initialised when using -DAMALLOC

(classic) ANSI terminal

* Remove a 20 year old "temporary" patch. Code 13 now moves the printing position to the start of line
* +zx Inverse now applies to all 8 rows of the character when printing in 32 column mode

(classic) z80 library compatibility with z180

* Some de-optimisations have been applied to ensure that code targeting the z80 can also run on the z180

(sccz80) K&R function declaration handling

* Quieten down a diagnostic raised when a K&R declaration was assigned to a function pointer (and vv)

(sccz80) named address spaces

* Fix some issues which didn't correctly switch the namespace around function calls

(sccz80) Fix handling of 0 sized arrays

(sccz80) Many new optimisation rules

* Many rules added that both speed up and reduce program size

(zcc) -startupoffset/-startup options

* (Release issue) The handling of these options was broken which ended up breaking +zxn newline support: binaries ended up much larger than expected since extra routines were being added to the binary.
fraespre
Member
Posts: 30
Joined: Mon Aug 19, 2019 8:08 pm

Re: [changes] 15/4/2021

Post by fraespre »

Hi,

One silly question:

I guess all these new changes are available in the nightly builds,
but have you any other place where the most stable builds are located ?

thanks in advance,
User avatar
dom
Well known member
Posts: 1398
Joined: Sun Jul 15, 2007 10:01 pm

Re: [changes] 15/4/2021

Post by dom »

The latest code is available via nightly builds, dockerhub and snapcraft.

Releases are available via sourceforge, GitHub, dockerhub and snapcraft.

Unfortunately there were some issues in the last release and I'm currently trying to prepare a patch release that resolves them.
fraespre
Member
Posts: 30
Joined: Mon Aug 19, 2019 8:08 pm

Re: [changes] 15/4/2021

Post by fraespre »

Thanks Dom,

I was excited to see the 15/4/2021 news.

The first thought I had is to go the nightly builds and to donwload some one from the reference date.
However I afraid spending time installing a new version that maybe brings new bugs.

For that reason I asked about some place with versions between the yearly releases and nightly builds. A kind of alphas, betas or whatever.

Thanks for the information,
User avatar
dom
Well known member
Posts: 1398
Joined: Sun Jul 15, 2007 10:01 pm

Re: [changes] 15/4/2021

Post by dom »

There will probably be new bugs, but on the other hand there will always be new features! Usually the count of the latter will exceed the count of the former!

I do understand the reluctance to get on the nightly train, but looking through recent issues the bugs have tended to be sdcc issues or bugs in features that haven't previously been used rather than something newly introduced. The two "really bad" bugs fixed recently were introduced in September 2020 and March 2019 which given their age makes me think that beta/alpha programme would just create more admin work for me rather than being useful.

I think it's fair to say that we're really reliant on getting bugreports, given the size of the project and the relatively few people who are active it's impossible to test everything. The core functionality is of course covered by the build: we unit test core parts of the library, verify that compilations are correct and also verify that programs can be built for the targets. Inevitably some things do get missed and that's why we have the nightly builds and encourage people to use them - using them really does benefit everyone. Personally I hate bugs and will do my best to fix things as quickly as I can.
Post Reply