mirror of
				https://github.com/irmen/prog8.git
				synced 2025-10-31 15:16:13 +00:00 
			
		
		
		
	fix irq related crash by no longer zeroing out stored vector
This commit is contained in:
		| @@ -6,7 +6,7 @@ conv { | ||||
|  | ||||
| ; ----- number conversions to decimal strings ---- | ||||
|  | ||||
|     ubyte[16]  @shared string_out       ; result buffer for the string conversion routines | ||||
|     ubyte[16]  @shared string_out       ; result buffer for the string conversion routines (note: uses uninitialized ARRAY instead of STR, to force it to be allocated in BSS area so it's ROM-compatible) | ||||
|  | ||||
|     asmsub str_ub0(ubyte value @A) clobbers(X) -> str @AY { | ||||
|         ; ---- convert the ubyte in A in decimal string form, with left padding 0s (3 positions total) | ||||
|   | ||||
| @@ -1474,9 +1474,9 @@ asmsub  restore_irq() clobbers(A) { | ||||
| 	    sta  cx16.VERA_IEN | ||||
| 	    cli | ||||
| 	    rts | ||||
|         .section BSS | ||||
|         .section BSS_NOCLEAR | ||||
| _orig_irqvec    .word  ? | ||||
|         .send BSS | ||||
|         .send BSS_NOCLEAR | ||||
|         ; !notreached! | ||||
|     }} | ||||
| } | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| ; Internal library routines - always included by the compiler | ||||
| ; Generic machine independent 6502 code. | ||||
|  | ||||
| 		.section BSS | ||||
| 		.section BSS_NOCLEAR | ||||
| orig_stackpointer	.byte  ?	; stores the Stack pointer register at program start | ||||
| 		.send BSS | ||||
| 		.send BSS_NOCLEAR | ||||
|  | ||||
| program_startup_clear_bss    .proc | ||||
| 	; this is always ran first thing from the start routine to clear out the BSS area | ||||
|   | ||||
		Reference in New Issue
	
	Block a user