attacher.c: Turn off optimizer for inline asm.
This commit is contained in:
parent
7bb47d4b85
commit
7c402facc7
|
@ -397,14 +397,10 @@ void file_ui_draw_all(uint16_t first, uint16_t selected, uint16_t entries) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Perform ProDOS MLI ON_LINE call to
|
* Asm code for online()
|
||||||
* write all online volume names into iobuf[]
|
|
||||||
* Return the number of entries
|
|
||||||
*/
|
*/
|
||||||
uint16_t online(void) {
|
#pragma optimize (push, off)
|
||||||
uint16_t entries = 0;
|
void onlineasm(void) {
|
||||||
struct tabent *entry;
|
|
||||||
uint8_t i, j, len;
|
|
||||||
__asm__("lda #$00"); // All devices
|
__asm__("lda #$00"); // All devices
|
||||||
__asm__("sta mliparam + 1");
|
__asm__("sta mliparam + 1");
|
||||||
__asm__("lda #<%v", iobuf); // iobuf LSB
|
__asm__("lda #<%v", iobuf); // iobuf LSB
|
||||||
|
@ -415,6 +411,19 @@ uint16_t online(void) {
|
||||||
__asm__("lda #$c5"); // ON_LINE
|
__asm__("lda #$c5"); // ON_LINE
|
||||||
__asm__("ldx #$02"); // Two parms
|
__asm__("ldx #$02"); // Two parms
|
||||||
__asm__("jsr callmli");
|
__asm__("jsr callmli");
|
||||||
|
}
|
||||||
|
#pragma optimize (pop)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Perform ProDOS MLI ON_LINE call to
|
||||||
|
* write all online volume names into iobuf[]
|
||||||
|
* Return the number of entries
|
||||||
|
*/
|
||||||
|
uint16_t online(void) {
|
||||||
|
uint16_t entries = 0;
|
||||||
|
struct tabent *entry;
|
||||||
|
uint8_t i, j, len;
|
||||||
|
onlineasm();
|
||||||
entry = (struct tabent*)iobuf;
|
entry = (struct tabent*)iobuf;
|
||||||
for (i = 0; i < 16; ++i) {
|
for (i = 0; i < 16; ++i) {
|
||||||
len = iobuf[256 + i * 16] & 0x0f;
|
len = iobuf[256 + i * 16] & 0x0f;
|
||||||
|
|
Loading…
Reference in New Issue