This removes the MIT-licensed mpaland embedded print in favor of a new
one based on PDCLib. This removes an annoying license gaff from the SDK,
and it changes the following:
Floating point printing is now correctly rounded.
%a is now supported.
Non-float printf is smaller and faster:
Simulator printf("Hello %d\n", 6502)
Before
Size: 6520
Cycles: 8865
After
Size: 4251
Cycles: 6160
float printf is much smaller but slower:
Simulator printf("Hello %f\n", 6502.0)
Before
Size: 40482
Cycles: 41425
After
Size: 9546
Cycles: 218678
Note that the floating point printing routines target correctness first
(since essentially mandated by the standard), then size, then speed. We
could probably speed them up in common cases without adding too much
more size. It's difficult to go smaller than the current implementation.
This removes the MIT-licensed mpaland embedded print in favor of a new one based on PDCLib. This removes an annoying license gaff from the SDK, and it changes the following:
Note that the floating point printing routines target correctness first (since essentially mandated by the standard), then size, then speed. We could probably speed them up in common cases without adding too much more size. It's difficult to go smaller than the current implementation.