Initial commit
This commit is contained in:
commit
6482429a81
18 changed files with 15035 additions and 0 deletions
16
.gitignore
vendored
Normal file
16
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
*.8xp
|
||||
*.8xk
|
||||
*.8xv
|
||||
*.bin
|
||||
*.lab
|
||||
*.gb
|
||||
*.gbc
|
||||
*.sav
|
||||
*.exe
|
||||
*.lst
|
||||
*.aps
|
||||
*.vcxproj.*
|
||||
.vs/
|
||||
.DS_Store
|
||||
Debug/
|
||||
Release/
|
||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "tiboyse_makeapp/rabbitsign"]
|
||||
path = tiboyse_makeapp/rabbitsign
|
||||
url = https://github.com/abbrev/rabbitsign
|
||||
92
app.inc
Normal file
92
app.inc
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
; Fatal error macro. Displays message prefixed with "error"
|
||||
; and returns with error code
|
||||
#define fatal(str,return) .error str
|
||||
#macro defpage(page, appname)
|
||||
#if page = 0
|
||||
#ifndef gpage
|
||||
#define free_space 0
|
||||
#define gpage 0
|
||||
#ifndef appname
|
||||
.echo "Warning: No name given, using \"Default\""
|
||||
#define appname "Default"
|
||||
#endif
|
||||
.org $4000
|
||||
.db $80,$0F,0,0,0,0
|
||||
.db $80,$12,1,4
|
||||
.db $80,$21,1
|
||||
.db $80,$31,1
|
||||
.db $80,$48
|
||||
|
||||
#define gappname eval(appname)
|
||||
|
||||
_ .db appname
|
||||
#define apnamlen eval($ - -_)
|
||||
echo_fill(apnamlen,"-","------------------------------------------")
|
||||
.echo "Beginning APP \"",appname,"\", courtesy of SPASM macros"
|
||||
echo_fill(apnamlen,"-","------------------------------------------")
|
||||
|
||||
#if apnamlen <= 8
|
||||
.fill 8-apnamlen,' '
|
||||
#else
|
||||
#define err "App name is ",apnamlen-8," character(s) too long."
|
||||
fatal(err,1)
|
||||
#endif
|
||||
|
||||
.db $80,$81,0
|
||||
.db $80,$90
|
||||
.db $03,$26,$09,$04,$04,$06f,$1b,$80
|
||||
.db $02,$0d,$40
|
||||
.db $a1,$6b,$99,$f6,$59,$bc,$67
|
||||
.db $f5,$85,$9c,$09,$6c,$0f,$b4,$03,$9b,$c9
|
||||
.db $03,$32,$2c,$e0,$03,$20,$e3,$2c,$f4,$2d
|
||||
.db $73,$b4,$27,$c4,$a0,$72,$54,$b9,$ea,$7c
|
||||
.db $3b,$aa,$16,$f6,$77,$83,$7a,$ee,$1a,$d4
|
||||
.db $42,$4c,$6b,$8b,$13,$1f,$bb,$93,$8b,$fc
|
||||
.db $19,$1c,$3c,$ec,$4d,$e5,$75
|
||||
.db $80,$7F,0,0,0,0
|
||||
.dw 0,0,0,0,0,0,0,0
|
||||
#else
|
||||
fatal("There was already a page 0.",1)
|
||||
#endif
|
||||
#else
|
||||
#if ($ & $0000FFFF) > $8000
|
||||
#define err "Page ",gpage," went over bounds by ",$-$8000," bytes."
|
||||
fatal(err, 1)
|
||||
#endif
|
||||
#if page <= gpage
|
||||
fatal("Your page numbers must increase.")
|
||||
#endif
|
||||
#if page > gpage+1
|
||||
.echo "Warning: Skipping page ",gpage+1," at user request."
|
||||
#endif
|
||||
#define free_space eval(free_space + $8000-($ & $0000FFFF))
|
||||
.echo "Page ",gpage," free space: ",$8000-($ & $0000FFFF)
|
||||
.block ($8000-($ & $0000FFFF) + ((page-gpage-1)*$4000))
|
||||
#define gpage eval(page)
|
||||
.org $4000+(gpage*$10000)
|
||||
#endif
|
||||
#endmacro
|
||||
|
||||
#macro validate
|
||||
#if ($ & $0000FFFF) > $8000
|
||||
#define err "Page ",gpage," went over bounds by ",$-$8000," bytes."
|
||||
fatal(err, 1)
|
||||
#else
|
||||
.echo "Page ",gpage," free space: ",$8000-($ & $0000FFFF)
|
||||
#define free_space eval(free_space + $8000 - ($ & $0000FFFF))
|
||||
.echo "Success: Page sizes validated and \"",gappname,"\" is ready for signing."
|
||||
.echo " In ",gpage+1," page(s), ",free_space," bytes are available."
|
||||
#endif
|
||||
#endmacro
|
||||
|
||||
#macro echo_fill(times, char, base)
|
||||
#if times > 0
|
||||
#define base base,char
|
||||
echo_fill(eval(times-1), char, base)
|
||||
#else
|
||||
.echo base
|
||||
#endif
|
||||
#endmacro
|
||||
|
||||
#define .defpage defpage(
|
||||
#define .validate validate
|
||||
1780
hardware.z80
Normal file
1780
hardware.z80
Normal file
File diff suppressed because it is too large
Load diff
7828
opcodes_crazy.z80
Normal file
7828
opcodes_crazy.z80
Normal file
File diff suppressed because it is too large
Load diff
2767
render.z80
Normal file
2767
render.z80
Normal file
File diff suppressed because it is too large
Load diff
136
render_ram.z80
Normal file
136
render_ram.z80
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
spriteloop_gray:
|
||||
ld a,(de)
|
||||
xor (hl)
|
||||
and iyh
|
||||
xor (hl)
|
||||
exx
|
||||
ld c,a
|
||||
ld a,(bc)
|
||||
sprite_palette_smc_gray = $+1
|
||||
call 0
|
||||
ld e,a
|
||||
ld a,(de)
|
||||
exx
|
||||
ld c,a
|
||||
xor (hl)
|
||||
and iyl
|
||||
xor (hl)
|
||||
ld (hl),a
|
||||
ld a,(de)
|
||||
xor c
|
||||
and iyl
|
||||
xor c
|
||||
ld (de),a
|
||||
dec e
|
||||
dec l
|
||||
|
||||
spriteloop:
|
||||
ld a,(de)
|
||||
xor (hl)
|
||||
and iyh
|
||||
xor (hl)
|
||||
exx
|
||||
ld c,a
|
||||
ld a,(bc)
|
||||
sprite_palette_smc = $+1
|
||||
call 0
|
||||
sprite_flip_smc:
|
||||
inc l
|
||||
inc l
|
||||
ld e,a
|
||||
ld a,(de)
|
||||
exx
|
||||
ld c,a
|
||||
xor (hl)
|
||||
and iyl
|
||||
xor (hl)
|
||||
ld (hl),a
|
||||
ld a,(de)
|
||||
xor c
|
||||
and iyl
|
||||
xor c
|
||||
ld (de),a
|
||||
dec de
|
||||
dec hl
|
||||
sprite_loop_smc = $+1
|
||||
djnz spriteloop
|
||||
sprite_next_smc = $+1
|
||||
jp draw_next_sprite
|
||||
|
||||
;Input: DE = pointer to first tile, DE' = pointer to buffer, B = row within tile, C = rows to draw, B' = columns to draw, C' = mask
|
||||
rasterlines:
|
||||
ex de,hl
|
||||
ld a,8
|
||||
sub b
|
||||
ld b,a
|
||||
rasterloop0:
|
||||
push bc
|
||||
push hl
|
||||
exx
|
||||
bufferHeight = $+1
|
||||
ld hl,128 + 15
|
||||
add hl,de
|
||||
ex de,hl
|
||||
push de
|
||||
exx
|
||||
ld a,16
|
||||
sub b
|
||||
sub b
|
||||
rasterloop1:
|
||||
ld e,(hl)
|
||||
ld d,tileLUT >> 8
|
||||
ex de,hl
|
||||
add a,(hl)
|
||||
rastersmc1:
|
||||
inc h
|
||||
ld h,(hl)
|
||||
ld l,a
|
||||
ld a,c
|
||||
sub b
|
||||
jr nc,_
|
||||
ld b,c
|
||||
xor a
|
||||
_
|
||||
ld c,a
|
||||
rasterloop2:
|
||||
nop \ nop \ nop \ nop \ nop ;allow room for palette mod
|
||||
nop \ nop \ nop \ nop ;allow room for rotation mod
|
||||
dec l
|
||||
exx
|
||||
ld (de),a
|
||||
xor (hl)
|
||||
and c
|
||||
xor (hl)
|
||||
ld (hl),a
|
||||
inc e
|
||||
inc l
|
||||
exx
|
||||
nop \ nop \ nop \ nop \ nop ;allow room for second palette mod
|
||||
nop \ nop \ nop \ nop ;allow room for second rotation mod
|
||||
inc l
|
||||
exx
|
||||
ld (de),a
|
||||
xor (hl)
|
||||
and c
|
||||
xor (hl)
|
||||
ld (hl),a
|
||||
inc de
|
||||
inc hl
|
||||
exx
|
||||
djnz rasterloop2
|
||||
ld a,e
|
||||
add a,$20
|
||||
ld l,a
|
||||
ld a,d
|
||||
jr nc,_
|
||||
inc a
|
||||
xor d
|
||||
and %00000011
|
||||
xor d
|
||||
_
|
||||
ld h,a
|
||||
ld b,8
|
||||
xor a
|
||||
cp c
|
||||
jp nz,0 ;rasterloop1
|
||||
jp 0 ;rastercolumnend
|
||||
195
setup.z80
Normal file
195
setup.z80
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
setup:
|
||||
ld a,2
|
||||
out (5),a
|
||||
ld hl,render_ram_code
|
||||
ld de,render_ram_code_start
|
||||
ld bc,render_ram_code_size
|
||||
ldir
|
||||
|
||||
xor a
|
||||
out (5),a
|
||||
ld hl,$E000-1
|
||||
ld de,page3code
|
||||
ld bc,page3codesize + 1
|
||||
or a ;sound off
|
||||
call decompress_page3code
|
||||
|
||||
ld hl,TimerInterruptBackup
|
||||
ld de,TimerInterruptReplacement
|
||||
ld bc,16
|
||||
ldir
|
||||
|
||||
ld a,(maxRamPage)
|
||||
add a,$81
|
||||
ld (firstInvalidRamPage),a
|
||||
|
||||
ld a,(contrast)
|
||||
add a,$D8
|
||||
ld (mycontrast),a
|
||||
ld a,(CartridgeType)
|
||||
ld (mbc),a
|
||||
|
||||
ld a,$80
|
||||
out ($10),a
|
||||
out ($28),a
|
||||
ld a,$10
|
||||
out ($27),a
|
||||
|
||||
ld a,im2lut >> 8
|
||||
ld i,a
|
||||
im 2
|
||||
xor a
|
||||
out (4),a
|
||||
inc a
|
||||
out (3),a
|
||||
|
||||
ld a,$44
|
||||
out ($36),a
|
||||
ld a,2
|
||||
out ($37),a
|
||||
dec a
|
||||
out ($38),a
|
||||
|
||||
ld hl,hiram_init
|
||||
ld de,$ff00
|
||||
ld bc,$0100
|
||||
ldir
|
||||
ld hl,$8000
|
||||
ld (soundOutputs),hl
|
||||
|
||||
ld c,$8F
|
||||
call DisplayNintendo
|
||||
|
||||
ld hl,$8000
|
||||
ld de,$8001
|
||||
ld bc,$1FFF
|
||||
ld (hl),l
|
||||
ldir
|
||||
|
||||
ld a,5
|
||||
out ($10),a
|
||||
|
||||
call clear_screen_edges + (rompage3code - $4000)
|
||||
|
||||
ld a,3
|
||||
out ($20),a
|
||||
ld a,$0c
|
||||
out ($2c),a
|
||||
|
||||
ld c,0
|
||||
ld de,(opcodetable_B & $FF00) + (opcodetable >> 8)
|
||||
ld iy,$FFFE
|
||||
ld sp,$0100
|
||||
|
||||
ld a,200
|
||||
out ($38),a
|
||||
|
||||
ld a,1
|
||||
ex af,af'
|
||||
|
||||
in a,(6)
|
||||
ld (basepage),a
|
||||
dec a
|
||||
jp setcartrom_abs
|
||||
|
||||
;Inputs: NC=sound off, C=sound on
|
||||
; HL=output location minus 1
|
||||
; DE=location of compressed code
|
||||
; BC=size of compressed code plus 1
|
||||
decompress_page3code:
|
||||
push af
|
||||
decompressloop1:
|
||||
cpi
|
||||
jp po,decompressend
|
||||
ex de,hl
|
||||
decompressloop2:
|
||||
ld a,(hl)
|
||||
and %11100111
|
||||
cp $C7
|
||||
jr z,_
|
||||
ldi
|
||||
jp pe,decompressloop2
|
||||
decompressend:
|
||||
pop af
|
||||
ret
|
||||
_
|
||||
xor (hl)
|
||||
inc hl
|
||||
ex de,hl
|
||||
jr nz,_
|
||||
pop af
|
||||
push af
|
||||
jr c,decompresswithsound
|
||||
ld (hl),$E1 ;pop hl
|
||||
inc hl
|
||||
ld (hl),$44 ;ld b,h
|
||||
inc hl
|
||||
ld (hl),$62 ;ld h,d
|
||||
inc hl
|
||||
ld (hl),$66 ;ld h,(hl)
|
||||
inc hl
|
||||
ld (hl),$E9 ;jp (hl)
|
||||
inc hl
|
||||
ld (hl),$00 ;nop
|
||||
inc hl
|
||||
ld (hl),$00 ;nop
|
||||
jr decompressloop1
|
||||
_
|
||||
cp $08
|
||||
jr nz,_
|
||||
ld (hl),$68 ;ld l,b
|
||||
inc hl
|
||||
ld (hl),$63 ;ld h,e
|
||||
inc hl
|
||||
ld (hl),$66 ;ld h,(hl)
|
||||
inc hl
|
||||
ld (hl),$E9 ;jp (hl)
|
||||
jr decompressloop1
|
||||
_
|
||||
cp $10
|
||||
jr nz,_
|
||||
decompresswithsound:
|
||||
ld (hl),$FB ;ei
|
||||
inc hl
|
||||
ld (hl),$E1 ;pop hl
|
||||
inc hl
|
||||
ld (hl),$F3 ;di
|
||||
inc hl
|
||||
ld (hl),$44 ;ld b,h
|
||||
inc hl
|
||||
ld (hl),$62 ;ld h,d
|
||||
inc hl
|
||||
ld (hl),$66 ;ld h,(hl)
|
||||
inc hl
|
||||
ld (hl),$E9 ;jp (hl)
|
||||
jr decompressloop1
|
||||
_
|
||||
ld a,(de)
|
||||
inc de
|
||||
dec bc
|
||||
ld (hl),$FD
|
||||
inc hl
|
||||
ld (hl),$FD
|
||||
_
|
||||
inc hl
|
||||
ld (hl),$FD
|
||||
dec a
|
||||
jr nz,-_
|
||||
jr decompressloop1
|
||||
|
||||
hiram_init:
|
||||
.db 0,0,0,0,0,$00,$00,$00,0,0,0,0,0,0,0,0
|
||||
.db $80,$BF,$F3,0,$BF,0,$3F,$00,0,$BF,$7F,$FF,$9F,0,$BF,0
|
||||
.db $FF,$00,$00,$BF,$77,$F3,$F1,0,0,0,0,0,0,0,0,0
|
||||
.db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
.db $91,0,$00,$00,0,$00,0,$FC,$FF,$FF,$00,$00,0,0,0,0
|
||||
.block $b0
|
||||
|
||||
render_ram_code:
|
||||
.org $DF00
|
||||
render_ram_code_start:
|
||||
#include "render_ram.z80"
|
||||
render_ram_code_size = $ - render_ram_code_start
|
||||
.org render_ram_code + render_ram_code_size
|
||||
|
||||
.echo "RAM-based render code: ", render_ram_code_size
|
||||
BIN
splash.bmp
Normal file
BIN
splash.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 830 B |
35
ti83small.inc
Normal file
35
ti83small.inc
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#define bcall(xxxx) rst 28h \ .dw xxxx
|
||||
|
||||
_JForceCmdNoChar .equ 4027h
|
||||
_ChkFindSym .equ 42F1h
|
||||
_EnoughMem .equ 42FDh
|
||||
_PutC .equ 4504h
|
||||
_DispHL .equ 4507h
|
||||
_PutS .equ 450Ah
|
||||
_ClrScrnFull .equ 4546h
|
||||
_HomeUp .equ 4558h
|
||||
_getkey .equ 4972h
|
||||
_CreateAppVar .equ 4E6Ah
|
||||
_FlashWriteDisable .equ 4F3Ch
|
||||
_DelVarArc .equ 4FC6h
|
||||
_Arc_Unarc .equ 4FD8h ;checks for low battery
|
||||
_FindSwapSector .equ 5095h
|
||||
_CopyFlashPage .equ 5098h
|
||||
_FindAppNumPages .equ 509Bh
|
||||
|
||||
arcInfo .equ 83EEh
|
||||
contrast .equ 8447h
|
||||
OP1 .equ 8478h
|
||||
OP4 .equ 8499h
|
||||
iMathPtr5 .equ 84DBh
|
||||
onSP .equ 85BCh
|
||||
saveSScreen .equ 86ECh
|
||||
flags .equ 89F0h
|
||||
pagedCount .equ 9834h
|
||||
pagedBuf .equ 983Ah
|
||||
appBackUpScreen .equ 9872h
|
||||
|
||||
AppVarObj .equ 15h ;application variable
|
||||
|
||||
previousEntriesMP .equ 977Eh
|
||||
gbufMP .equ 9A7Eh
|
||||
1554
tiboyse.z80
Normal file
1554
tiboyse.z80
Normal file
File diff suppressed because it is too large
Load diff
212
tiboyse_makeapp/makeapp.cpp
Normal file
212
tiboyse_makeapp/makeapp.cpp
Normal file
|
|
@ -0,0 +1,212 @@
|
|||
#include <cstring>
|
||||
#include <cstdlib>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
#include "rabbitsign.h"
|
||||
|
||||
#ifdef USE_WINDOWS_RESOURCE
|
||||
#include <Windows.h>
|
||||
#include "resource.h"
|
||||
#endif
|
||||
|
||||
const unsigned long TIBOY_SIZE = 0x4000 - 96;
|
||||
|
||||
void wait()
|
||||
{
|
||||
std::cout << "< Press Enter to continue >";
|
||||
getchar();
|
||||
}
|
||||
|
||||
unsigned char getHex(char letter)
|
||||
{
|
||||
if(letter >= '0' && letter <= '9') return letter - '0';
|
||||
if(letter >= 'A' && letter <= 'Z') return letter - 'A' + 0xA;
|
||||
if(letter >= 'a' && letter <= 'z') return letter - 'a' + 0xA;
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::string escape(std::string& name)
|
||||
{
|
||||
std::string valid = name;
|
||||
size_t search = std::string::npos;
|
||||
while((search = name.find('\\',search+1)) != std::string::npos)
|
||||
{
|
||||
name.replace(search, 3, 1, getHex(name[search+1])*16 + getHex(name[search+2]));
|
||||
valid.replace(search, 3, 1, '-');
|
||||
}
|
||||
return valid;
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
std::cout << "ROM to APP converter for TI-Boy Beta 0.2.04\n\n";
|
||||
if (argc < 3)
|
||||
{
|
||||
atexit(wait);
|
||||
}
|
||||
|
||||
std::string romfilename;
|
||||
if(argc >= 2)
|
||||
{
|
||||
romfilename = argv[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Enter the filepath/name of the ROM to convert: ";
|
||||
std::getline(std::cin, romfilename);
|
||||
}
|
||||
|
||||
std::ifstream romfile;
|
||||
romfile.open(romfilename.c_str(), std::ios::binary | std::ios::ate);
|
||||
if(romfile.fail())
|
||||
{
|
||||
std::cout << "Error opening ROM file!\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
unsigned long romfilesize = (unsigned long)romfile.tellg();
|
||||
romfile.seekg(0, std::ios::beg);
|
||||
|
||||
if (romfilesize & 0x3FFF)
|
||||
{
|
||||
std::cout << "Warning, ROM file is not a multiple of 16KB!\n";
|
||||
std::cout << "Ignoring last " << (romfilesize & 0x3FFF) << " bytes.\n\n";
|
||||
romfilesize &= ~0x3FFF;
|
||||
}
|
||||
|
||||
char* romdata = new char[romfilesize];
|
||||
romfile.read(romdata, romfilesize);
|
||||
romfile.close();
|
||||
|
||||
char internal_name[16];
|
||||
strncpy(internal_name, romdata+0x134, 15);
|
||||
internal_name[15] = 0;
|
||||
std::cout << "Successfully opened ROM: " << internal_name << "\n";
|
||||
|
||||
std::string appname, appfilename;
|
||||
size_t maxName = (romdata[0x149] == 3 ? 7 : 8);
|
||||
if(argc >= 3)
|
||||
{
|
||||
appfilename = escape(appname = argv[2]);
|
||||
}
|
||||
if(argc < 3 || appname.length() > maxName)
|
||||
{
|
||||
if (argc >= 3)
|
||||
{
|
||||
atexit(wait);
|
||||
}
|
||||
do
|
||||
{
|
||||
std::cout << "Enter a name for the APP (" << maxName << " char max): ";
|
||||
std::cin >> appname;
|
||||
std::cin.ignore();
|
||||
appfilename = escape(appname);
|
||||
}
|
||||
while(appname.length() > maxName);
|
||||
}
|
||||
|
||||
std::string appPath = argv[0];
|
||||
appPath = appPath.substr(0,appPath.find_last_of('\\')+1);
|
||||
|
||||
#ifdef USE_WINDOWS_RESOURCE
|
||||
HRSRC resourceInfo = FindResource(nullptr, MAKEINTRESOURCE(TIBOYSE_RESOURCE), RT_RCDATA);
|
||||
if (resourceInfo == nullptr)
|
||||
{
|
||||
std::cout << "Error: Could not find embedded tiboyse resource\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if (SizeofResource(nullptr, resourceInfo) != TIBOY_SIZE)
|
||||
{
|
||||
std::cout << "Error: Embedded tiboyse resource seems to be corrupt (incorrect size)\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
HGLOBAL resourceData = LoadResource(nullptr, resourceInfo);
|
||||
if (resourceData == nullptr)
|
||||
{
|
||||
std::cout << "Error: Failed to load embedded tiboyse resource\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
const void* resourcePtr = LockResource(resourceData);
|
||||
if (resourcePtr == nullptr)
|
||||
{
|
||||
std::cout << "Error: Failed to lock embedded tiboyse resource\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
#else
|
||||
std::ifstream tiboyfile;
|
||||
tiboyfile.open((appPath+"tiboyse.bin").c_str(), std::ios::binary | std::ios::ate);
|
||||
if(tiboyfile.fail())
|
||||
{
|
||||
std::cout << "Error: Could not locate vital file tiboyse.bin\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
if((unsigned long)tiboyfile.tellg() != TIBOY_SIZE)
|
||||
{
|
||||
std::cout << "Error: tiboyse.bin seems to be corrupt (incorrect file size)\n";
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
tiboyfile.seekg(0, std::ios::beg);
|
||||
#endif
|
||||
|
||||
unsigned long newsize = romfilesize;
|
||||
unsigned char comp_byte = romdata[--newsize];
|
||||
if(comp_byte == 0x00 || comp_byte == 0xFF)
|
||||
while(romdata[--newsize] == comp_byte);
|
||||
romfilesize = (newsize | 0x3FFF) + 1;
|
||||
|
||||
char* appdata = (char*)malloc(TIBOY_SIZE + romfilesize);
|
||||
#ifdef USE_WINDOWS_RESOURCE
|
||||
memcpy(appdata, resourcePtr, TIBOY_SIZE);
|
||||
#else
|
||||
tiboyfile.read(appdata, TIBOY_SIZE);
|
||||
tiboyfile.close();
|
||||
#endif
|
||||
|
||||
memcpy(appdata + 0x0012, appname.c_str(), appname.length());
|
||||
memcpy(appdata + TIBOY_SIZE, romdata + TIBOY_SIZE, romfilesize - TIBOY_SIZE);
|
||||
memcpy(appdata + romfilesize, romdata, TIBOY_SIZE);
|
||||
|
||||
RSKey *key = rs_key_new();
|
||||
rs_key_find_for_id(key, 0x0104, 0);
|
||||
|
||||
RSProgram *prgm = rs_program_new();
|
||||
prgm->calctype = RS_CALC_TI83P;
|
||||
prgm->datatype = RS_DATA_APP;
|
||||
prgm->data = (unsigned char*)appdata;
|
||||
prgm->length = prgm->length_a = TIBOY_SIZE + romfilesize;
|
||||
rs_repair_ti8x_app(prgm, (RSRepairFlags)((int)RS_IGNORE_ALL_WARNINGS | (int)RS_FIX_PAGE_COUNT));
|
||||
|
||||
if (rs_sign_ti8x_app(prgm, key, 0) == RS_SUCCESS)
|
||||
{
|
||||
std::string binout = appPath + appfilename + ".8xk";
|
||||
FILE *appfile = fopen(binout.c_str(), "wb");
|
||||
if (rs_write_program_file(prgm, appfile, 0, 0, 0, (RSOutputFlags)0) == RS_SUCCESS)
|
||||
{
|
||||
std::cout << "\nGenerated a " << romfilesize + 0x4000 << " byte (" << romfilesize/0x4000+1 << " page) APP.\n\n";
|
||||
|
||||
if((unsigned char)romdata[0x143] == 0xC0)
|
||||
std::cout << "Warning: This is a Game Boy Color ROM. TI-Boy does not support GBC.\n\n";
|
||||
|
||||
if(romfilesize > 1540096)
|
||||
std::cout << "Warning: This APP will not fit on any TI-83+ or TI-84+ calculator.\n\n";
|
||||
else if(romfilesize > 491520)
|
||||
std::cout << "Warning: This APP will only fit on a Silver Edition calculator.\n\n";
|
||||
|
||||
if(romdata[0x149] == 3)
|
||||
std::cout << "Warning: This APP may require more than 48KB RAM to emulate.\nIt might not work on new TI-84+ models.\nHowever, Pokemon Red/Blue/Yellow have been confirmed to work on all models.\nTo see if your model has 128KB RAM, check the serial number on the back.\nIf the ending letter is from A-G or has no letter, there is enough RAM.\nOtherwise, just test it and see if it gives an error.\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "\nAn error occurred when writing to the output file!\n\n";
|
||||
}
|
||||
fclose(appfile);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "\nAn error occurred when signing the application!\n\n";
|
||||
}
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
1
tiboyse_makeapp/rabbitsign
Submodule
1
tiboyse_makeapp/rabbitsign
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit f3b65118b2fa3738eb1d5167b63afdace31eee95
|
||||
195
tiboyse_makeapp/rabbitsign.vcxproj
Normal file
195
tiboyse_makeapp/rabbitsign.vcxproj
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="rabbitsign\src\app8x.c" />
|
||||
<ClCompile Include="rabbitsign\src\app9x.c" />
|
||||
<ClCompile Include="rabbitsign\src\apps.c" />
|
||||
<ClCompile Include="rabbitsign\src\autokey.c" />
|
||||
<ClCompile Include="rabbitsign\src\error.c" />
|
||||
<ClCompile Include="rabbitsign\src\graphlink.c" />
|
||||
<ClCompile Include="rabbitsign\src\header.c" />
|
||||
<ClCompile Include="rabbitsign\src\input.c" />
|
||||
<ClCompile Include="rabbitsign\src\keys.c" />
|
||||
<ClCompile Include="rabbitsign\src\md5.c" />
|
||||
<ClCompile Include="rabbitsign\src\mem.c" />
|
||||
<ClCompile Include="rabbitsign\src\mpz.c" />
|
||||
<ClCompile Include="rabbitsign\src\os8x.c" />
|
||||
<ClCompile Include="rabbitsign\src\output.c" />
|
||||
<ClCompile Include="rabbitsign\src\output8x.c" />
|
||||
<ClCompile Include="rabbitsign\src\output9x.c" />
|
||||
<ClCompile Include="rabbitsign\src\program.c" />
|
||||
<ClCompile Include="rabbitsign\src\rabin.c" />
|
||||
<ClCompile Include="rabbitsign\src\rsa.c" />
|
||||
<ClCompile Include="rabbitsign\src\typestr.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="rabbitsign\src\autokeys.h" />
|
||||
<ClInclude Include="rabbitsign\src\internal.h" />
|
||||
<ClInclude Include="rabbitsign\src\md5.h" />
|
||||
<ClInclude Include="rabbitsign\src\mpz.h" />
|
||||
<ClInclude Include="rabbitsign\src\rabbitsign.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{B3E1064D-D26A-431B-B324-74C98F946F6C}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>rabbitsign</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_MEMCPY;HAVE_STDLIB_H;HAVE_STRING_H;STDC_HEADERS=1;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4146;4244;4267</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_MEMCPY;HAVE_STDLIB_H;HAVE_STRING_H;STDC_HEADERS=1;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4146;4244;4267</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_MEMCPY;HAVE_STDLIB_H;HAVE_STRING_H;STDC_HEADERS=1;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4146;4244;4267</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;HAVE_MEMCPY;HAVE_STDLIB_H;HAVE_STRING_H;STDC_HEADERS=1;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
<DisableSpecificWarnings>4146;4244;4267</DisableSpecificWarnings>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
2
tiboyse_makeapp/resource.h
Normal file
2
tiboyse_makeapp/resource.h
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#pragma once
|
||||
#define TIBOYSE_RESOURCE 101
|
||||
BIN
tiboyse_makeapp/tiboyse.rc
Normal file
BIN
tiboyse_makeapp/tiboyse.rc
Normal file
Binary file not shown.
41
tiboyse_makeapp/tiboyse_makeapp.sln
Normal file
41
tiboyse_makeapp/tiboyse_makeapp.sln
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27130.2036
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiboyse_makeapp", "tiboyse_makeapp.vcxproj", "{0BF4CA31-F489-4345-B54F-5FE7B946D671}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rabbitsign", "rabbitsign.vcxproj", "{B3E1064D-D26A-431B-B324-74C98F946F6C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Debug|x64.Build.0 = Debug|x64
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Debug|x86.Build.0 = Debug|Win32
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Release|x64.ActiveCfg = Release|x64
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Release|x64.Build.0 = Release|x64
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Release|x86.ActiveCfg = Release|Win32
|
||||
{0BF4CA31-F489-4345-B54F-5FE7B946D671}.Release|x86.Build.0 = Release|Win32
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Debug|x64.Build.0 = Debug|x64
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Release|x64.ActiveCfg = Release|x64
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Release|x64.Build.0 = Release|x64
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B3E1064D-D26A-431B-B324-74C98F946F6C}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4281E31C-7CB4-4BAB-A3EF-13EA47330F62}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
178
tiboyse_makeapp/tiboyse_makeapp.vcxproj
Normal file
178
tiboyse_makeapp/tiboyse_makeapp.vcxproj
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="makeapp.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="rabbitsign.vcxproj">
|
||||
<Project>{b3e1064d-d26a-431b-b324-74c98f946f6c}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="tiboyse.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{0BF4CA31-F489-4345-B54F-5FE7B946D671}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>tiboysemakeapp</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;USE_WINDOWS_RESOURCE;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)rabbitsign\src</AdditionalIncludeDirectories>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;USE_WINDOWS_RESOURCE;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)rabbitsign\src</AdditionalIncludeDirectories>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;USE_WINDOWS_RESOURCE;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)rabbitsign\src</AdditionalIncludeDirectories>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalOptions>/NOCOFFGRPINFO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>ucrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>libucrt.lib</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;USE_WINDOWS_RESOURCE;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)rabbitsign\src</AdditionalIncludeDirectories>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalOptions>/NOCOFFGRPINFO %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>ucrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>libucrt.lib</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue