sg1000: fonts.s, fixed pixel editor with ;; delimiters

This commit is contained in:
Steven Hugg 2018-11-28 17:47:39 -05:00
parent 2735e71753
commit 5d60110327
4 changed files with 122 additions and 2 deletions

109
presets/coleco/fonts.s Normal file
View File

@ -0,0 +1,109 @@

.area _CODE
.globl _font_bitmap_a
.globl _font_bitmap_0
;Character cell data for default font
;;{w:8,h:8,brev:1,count:224};;
Font_Space:
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;32
.DB 0x10,0x38,0x38,0x10,0x10,0x00,0x10,0x00 ;33
.DB 0x6c,0x6c,0x48,0x00,0x00,0x00,0x00,0x00 ;34
.DB 0x00,0x28,0x7c,0x28,0x28,0x7c,0x28,0x00 ;35
.DB 0x20,0x38,0x40,0x30,0x08,0x70,0x10,0x00 ;36
.DB 0x64,0x64,0x08,0x10,0x20,0x4c,0x4c,0x00 ;37
.DB 0x20,0x50,0x50,0x20,0x54,0x48,0x34,0x00 ;38
.DB 0x30,0x30,0x20,0x00,0x00,0x00,0x00,0x00 ;39
.DB 0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x00 ;40
.DB 0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x00 ;41
.DB 0x00,0x28,0x38,0x7c,0x38,0x28,0x00,0x00 ;42
.DB 0x00,0x10,0x10,0x7c,0x10,0x10,0x00,0x00 ;43
.DB 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20 ;44
.DB 0x00,0x00,0x00,0x7c,0x00,0x00,0x00,0x00 ;45
.DB 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00 ;46
.DB 0x00,0x04,0x08,0x10,0x20,0x40,0x00,0x00 ;47
Font_0:
_font_bitmap_0:
.DB 0x38,0x44,0x4c,0x54,0x64,0x44,0x38,0x00 ;48
.DB 0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00 ;49
.DB 0x38,0x44,0x04,0x18,0x20,0x40,0x7c,0x00 ;50
.DB 0x38,0x44,0x04,0x38,0x04,0x44,0x38,0x00 ;51
.DB 0x08,0x18,0x28,0x48,0x7c,0x08,0x08,0x00 ;52
.DB 0x7c,0x40,0x40,0x78,0x04,0x44,0x38,0x00 ;53
.DB 0x18,0x20,0x40,0x78,0x44,0x44,0x38,0x00 ;54
.DB 0x7c,0x04,0x08,0x10,0x20,0x20,0x20,0x00 ;55
.DB 0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00 ;56
.DB 0x38,0x44,0x44,0x3c,0x04,0x08,0x30,0x00 ;57
.DB 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x00 ;58
.DB 0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x20 ;59
.DB 0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00 ;60
.DB 0x00,0x00,0x7c,0x00,0x00,0x7c,0x00,0x00 ;61
.DB 0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x00 ;62
.DB 0x38,0x44,0x04,0x18,0x10,0x00,0x10,0x00 ;63
.DB 0x38,0x44,0x5c,0x54,0x5c,0x40,0x38,0x00 ;64
Font_A:
_font_bitmap_a:
.DB 0x38,0x44,0x44,0x44,0x7c,0x44,0x44,0x00 ;65
.DB 0x78,0x44,0x44,0x78,0x44,0x44,0x78,0x00 ;66
.DB 0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00 ;67
.DB 0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00 ;68
.DB 0x7c,0x40,0x40,0x78,0x40,0x40,0x7c,0x00 ;69
.DB 0x7c,0x40,0x40,0x78,0x40,0x40,0x40,0x00 ;70
.DB 0x38,0x44,0x40,0x5c,0x44,0x44,0x3c,0x00 ;71
.DB 0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x00 ;72
.DB 0x38,0x10,0x10,0x10,0x10,0x10,0x38,0x00 ;73
.DB 0x04,0x04,0x04,0x04,0x44,0x44,0x38,0x00 ;74
.DB 0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00 ;75
.DB 0x40,0x40,0x40,0x40,0x40,0x40,0x7c,0x00 ;76
.DB 0x44,0x6c,0x54,0x44,0x44,0x44,0x44,0x00 ;77
.DB 0x44,0x64,0x54,0x4c,0x44,0x44,0x44,0x00 ;78
.DB 0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00 ;79
.DB 0x78,0x44,0x44,0x78,0x40,0x40,0x40,0x00 ;80
.DB 0x38,0x44,0x44,0x44,0x54,0x48,0x34,0x00 ;81
.DB 0x78,0x44,0x44,0x78,0x48,0x44,0x44,0x00 ;82
.DB 0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00 ;83
.DB 0x7c,0x10,0x10,0x10,0x10,0x10,0x10,0x00 ;84
.DB 0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00 ;85
.DB 0x44,0x44,0x44,0x44,0x44,0x28,0x10,0x00 ;86
.DB 0x44,0x44,0x54,0x54,0x54,0x54,0x28,0x00 ;87
.DB 0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00 ;88
.DB 0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x00 ;89
.DB 0x78,0x08,0x10,0x20,0x40,0x40,0x78,0x00 ;90
.DB 0x38,0x20,0x20,0x20,0x20,0x20,0x38,0x00 ;91
.DB 0x00,0x40,0x20,0x10,0x08,0x04,0x00,0x00 ;92
.DB 0x38,0x08,0x08,0x08,0x08,0x08,0x38,0x00 ;93
.DB 0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00 ;94
.DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc ;95
.DB 0x30,0x30,0x10,0x00,0x00,0x00,0x00,0x00 ;96
.DB 0x00,0x00,0x38,0x04,0x3c,0x44,0x3c,0x00 ;97
.DB 0x40,0x40,0x78,0x44,0x44,0x44,0x78,0x00 ;98
.DB 0x00,0x00,0x38,0x44,0x40,0x44,0x38,0x00 ;99
.DB 0x04,0x04,0x3c,0x44,0x44,0x44,0x3c,0x00 ;100
.DB 0x00,0x00,0x38,0x44,0x78,0x40,0x38,0x00 ;101
.DB 0x18,0x20,0x20,0x78,0x20,0x20,0x20,0x00 ;102
.DB 0x00,0x00,0x3c,0x44,0x44,0x3c,0x04,0x38 ;103
.DB 0x40,0x40,0x70,0x48,0x48,0x48,0x48,0x00 ;104
.DB 0x10,0x00,0x10,0x10,0x10,0x10,0x18,0x00 ;105
.DB 0x08,0x00,0x18,0x08,0x08,0x08,0x48,0x30 ;106
.DB 0x40,0x40,0x48,0x50,0x60,0x50,0x48,0x00 ;107
.DB 0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x00 ;108
.DB 0x00,0x00,0x68,0x54,0x54,0x44,0x44,0x00 ;109
.DB 0x00,0x00,0x70,0x48,0x48,0x48,0x48,0x00 ;110
.DB 0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00 ;111
.DB 0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x40 ;112
.DB 0x00,0x00,0x3c,0x44,0x44,0x44,0x3c,0x04 ;113
.DB 0x00,0x00,0x58,0x24,0x20,0x20,0x70,0x00 ;114
.DB 0x00,0x00,0x38,0x40,0x38,0x04,0x38,0x00 ;115
.DB 0x00,0x20,0x78,0x20,0x20,0x28,0x10,0x00 ;116
.DB 0x00,0x00,0x48,0x48,0x48,0x58,0x28,0x00 ;117
.DB 0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x00 ;118
.DB 0x00,0x00,0x44,0x44,0x54,0x7c,0x28,0x00 ;119
.DB 0x00,0x00,0x48,0x48,0x30,0x48,0x48,0x00 ;120
.DB 0x00,0x00,0x48,0x48,0x48,0x38,0x10,0x60 ;121
.DB 0x00,0x00,0x78,0x08,0x30,0x40,0x78,0x00 ;122
.DB 0x18,0x20,0x20,0x60,0x20,0x20,0x18,0x00 ;123
.DB 0x10,0x10,0x10,0x00,0x10,0x10,0x10,0x00 ;124
.DB 0x30,0x08,0x08,0x0c,0x08,0x08,0x30,0x00 ;125
.DB 0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00 ;126
.DB 0x10,0x38,0x6c,0x44,0x44,0x7c,0x00,0x00 ;127
;;

View File

@ -24,7 +24,7 @@ import { TMS9918A } from "../video/tms9918a";
// https://github.com/tursilion/convert9918
// http://www.harmlesslion.com/cgi-bin/showprog.cgi?ColecoVision
var ColecoVision_PRESETS = [
export var ColecoVision_PRESETS = [
{id:'text.c', name:'Text Mode'},
{id:'hello.c', name:'Scrolling Text'},
{id:'text32.c', name:'32-Column Color Text'},

View File

@ -5,11 +5,16 @@ import { PLATFORMS, RAM, newAddressDecoder, padBytes, noise, setKeyboardFromMap,
import { hex, lzgmini, stringToByteArray } from "../util";
import { MasterAudio, SN76489_Audio } from "../audio";
import { TMS9918A } from "../video/tms9918a";
import { ColecoVision_PRESETS } from "./coleco";
// http://www.smspower.org/Development/Index
// http://www.smspower.org/uploads/Development/sg1000.txt
var SG1000_PRESETS = [
// TODO: merge w/ coleco
export var SG1000_PRESETS = [
{id:'text.c', name:'Text Mode'},
{id:'hello.c', name:'Scrolling Text'},
{id:'text32.c', name:'32-Column Color Text'},
{id:'stars.c', name:'Scrolling Starfield'},
{id:'cursorsmooth.c', name:'Moving Cursor'},
{id:'simplemusic.c', name:'Simple Music'},
@ -18,8 +23,12 @@ var SG1000_PRESETS = [
{id:'mode2compressed.c', name:'Mode 2 Bitmap (LZG)'},
{id:'lines.c', name:'Mode 2 Lines'},
{id:'multicolor.c', name:'Multicolor Mode'},
{id:'siegegame.c', name:'Siege Game'},
{id:'shoot.c', name:'Solarian Game'},
{id:'climber.c', name:'Platform Game'},
];
var SG1000_KEYCODE_MAP = makeKeycodeMap([
[Keys.VK_UP, 0, 0x1],
[Keys.VK_DOWN, 0, 0x2],

View File

@ -375,6 +375,8 @@ export class SourceEditor implements ProjectView {
var endsection;
if (platform_id == 'verilog')
endsection = l.indexOf('end') >= pos0;
else if (s.startsWith(';;'))
endsection = l.indexOf(';;') >= pos0;
else
endsection = l.indexOf(';') >= pos0;
if (endsection) {