updated presets for new padding method

This commit is contained in:
Steven Hugg 2018-09-24 10:18:08 -04:00
parent d7d2437004
commit 780b232259
3 changed files with 17 additions and 23 deletions

View File

@ -67,6 +67,7 @@ TODO:
- verilog: when paused scope doesn't work
- resize memory dump window
- C/asm formatter
- fix WebAudio (https://news.ycombinator.com/item?id=18066474)
WEB WORKER FORMAT

View File

@ -77,7 +77,7 @@ typedef enum {
void main();
void start() {
void start() __naked {
__asm
LD SP,#0x4800
EI
@ -87,8 +87,17 @@ __asm
LD DE, #s__INITIALIZED
LD HL, #s__INITIALIZER
LDIR
JP _main
; padding to get to offset 0x66
.ds 0x66 - (. - _start)
__endasm;
main();
}
volatile byte video_framecount; // actual framecount
// starts at address 0x66
void rst_66() __interrupt {
video_framecount++;
}
const char __at (0x5000) palette[32] = {/*{pal:332,n:4}*/
@ -136,26 +145,10 @@ void clrscr() {
memset_safe(vram, BLANK, sizeof(vram));
}
volatile byte video_framecount; // actual framecount
void reset_video_framecount() __critical {
video_framecount = 0;
}
void _buffer() {
__asm
; padding to get to offset 0x66
ld ix,#0
ld ix,#0
ld ix,#0
nop
__endasm;
}
void rst_66() __interrupt {
video_framecount++;
}
byte getchar(byte x, byte y) {
return vram[29-x][y];
}

View File

@ -1,4 +1,4 @@

#include <string.h>
typedef unsigned char byte;
@ -28,27 +28,27 @@ void scanline224() __interrupt;
void main();
// start routine @ 0x0
// set stack pointer, enable interrupts
void start() {
void start() __naked {
__asm
LD SP,#0x2400
EI
NOP
JP _main
__endasm;
main();
}
// scanline 96 interrupt @ 0x8
// we don't have enough bytes to make this an interrupt
// because the next routine is at 0x10
void _RST_8() {
void _RST_8() __naked {
__asm
NOP
NOP
NOP
NOP
NOP
JP _scanline96
__endasm;
scanline96();
}
// scanline 224 interrupt @ 0x10