Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Trying to understand SR-1 Freedom(mceglowski.substack.com ↗)
    discuss
  2. Show HN: Chuks v0.2.0-RC.1, we're asking people to try to break it(chuks.org ↗)
    discuss
  3. Why Aren't There More Imax 70mm Screens for 'The Odyssey'? 'It's Not Practical,'(variety.com ↗)
    discuss
  4. EFF Statement on California Governor's Executive Order on AI(eff.org ↗)
    discuss
  5. RubyLLM 2.0: What's New(rubyllm.com ↗)
    discuss
  6. The Case of Elias Thorne, Imaginary Man AI Chatbots Are Obsessed With(vice.com ↗)
    discuss
  7. AI systems out-persuade expert humans(arxiv.org ↗)
    1comments
  8. Retire in Peace(publicnotice.co ↗)
    1comments
  9. I Built OmegleVC — Turning Strangers Into Friends(play.google.com ↗)
    1comments
  10. Could AI kill us all? Your questions, answered(technologyreview.com ↗)
    discuss
  11. Open Source JEV architecture built 1 year ago(reddit.com ↗)
    discuss
  12. A free RGB↔CMYK converter and photo upscaler(thephoto.ca ↗)
    discuss
  13. How come AI-related posts get so many points on HN?
    1comments
  14. A shadow atlas of the world situation, built from open sources(terminaltribune.info ↗)
    discuss
  15. UK air traffic control outage caused by software defect, says operator(reuters.com ↗)
    1comments
  16. Claude couldn't hack OpenAI. Then Anthropic shipped Opus 5(thenewstack.io ↗)
    discuss
  17. MacSurf for Mac OS 8.6~10.6 "Open Tabs" Released(macsurf.org ↗)
    discuss
  18. SPC970-MechaLIBerator: PlayStation 2 SPC970 MechaCon dumper (with vuln detail)(github.com/libbers ↗)
    discuss
  19. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    discuss
  20. AI hallucination of Chinese nuclear components almost led to US Military attack(arstechnica.com ↗)
    3comments
  21. Anthropic partnering with Accenture on embedded evaluation(anthropic.com ↗)
    discuss
  22. Vipassana, Volini, and Viktor Frankl(jatin564991.substack.com ↗)
    discuss
  23. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    9comments
  24. Apple M6 Pro Achieves the Highest Single-Core CPU Score in Geekbench 7(geekbench.com ↗)
    discuss
  25. Conway's Law and Programming Languages(weblog.lol ↗)
    discuss
  26. Members of right‑leaning parties prefer leaders with dark triad personality(theconversation.com ↗)
    3comments
  27. Being a Responsible Human in the Loop(raahelbaig.com ↗)
    2comments
  28. Google's Gemini AI hacked three companies in security test(bbc.co.uk ↗)
    discuss
  29. Splash: A Local Engine Built Around the Model(inco.ai ↗)
    1comments
  30. Ask HN: DeepSeek v4.1 Flash on Local hardware, what tok/s do you see?
    discuss

SDCC – Small Device C Compiler

58 pointsby 4h agosdcc.sourceforge.net
15 comments
4h agoHN ↗

TIL about Dallas Semiconductor from this page.

Love Silicon Prairie lore.

4h agoHN ↗

SDCC has the best OSS 8051 compiler. It is buggy as hell, but it is free. Sometimes that is good enough.

3h agoHN ↗

I used it for some toy projects never ran into "bugs" as in this is just broken, but it's quirky for sure.

2h agoHN ↗

when you have large code, bugs will find you. for example two uint16 vars globally declared one after another. adding them together to each other will produce an access to garbage memory after 5-6 additions. dumb code but a simple repro. i ran into its bug when working on eInk price tags a while back.

2h agoHN ↗

As a student, 20 years ago, I felt like I was going crazy when using SDCC for pic16. Being new to microcontrollers and C, SDCC seemed cursed - even simple 'blink LED' test cases pseudo-randomly worked or didn't. It turned out that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins. These bugs have long been fixed but still live on in my long-term memory.

1h agoHN ↗

I still run across this to this day with GCC and Cortex-M code. The optimizer will occasionally decide to blow away loops that are clearly doing something.

1h agoHN ↗

Please file a bug report, if you haven't done so.

1h agoHN ↗

that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins.

Doesn't sounds like a bug in the compiler, sounds more like `volatile` was not used (unless, of course, `volatile` was not being honoured).

1h agoHN ↗

What a coincidence, just yesterday I asked an LLM to generate a C compiler for the 8051 because SDCC's output was not optimized. Within an 1.5 hour it was correctly compiling my project at 60% of the size of what SDCC generates. One or 2 quota refreshes later it passed the SDCC test suite and optimized soft floats.

https://github.com/jyaif/cc51

1h agoHN ↗

I assume you're running that test suite using a 3rd party 8051 emulator to avoid the potential for common-mode errors in both your compiler and emulator resulting in false confidence the compiler's correctness?

two simulators used for testing, sim51 (a plain 8051) and minitel_sim

Narrator: No, he was not.

35m agoHN ↗

"it runs on my device" is my criteria of success here

3h agoHN ↗

Has worked well enough for me on 8051 and stm8

2h agoHN ↗

SDCC has been a nice resource for a variety of MCUs. I wish it had support for some of the 8-bit PIC chips like the PIC10 and PIC12... maybe one day!

2h agoHN ↗

If it has not to be SDCC, Mikroe compilers have support for them across C, BASIC and Pascal compilers, if I am not mistaken.

2h agoHN ↗

The PIC compiler options were never standards compliant up until around when Microchip purchased AVR. There are great chips now that have free gcc support, reasonable power draw, and 32bit float support (ATSAM3X8E current prices are not worth it in many cases.)

PIC does still have a few key use-cases, but most people will hit the stack depth limits pretty quickly in C. A pic12 Assembly project is fun, but the limitations cut deep these days.

STM32/ESP32/RP2350 or nRF for low power stuff are far less effort these days, and give much better value. =3