Skip to content

Commit

Permalink
Macintosh port
Browse files Browse the repository at this point in the history
  • Loading branch information
gameblabla committed May 16, 2023
1 parent b9f7cbf commit d5ce1e6
Show file tree
Hide file tree
Showing 52 changed files with 18,759 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Macintosh/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*.raw
*.jar
*.o
*.dsk
.rsrc
.finf
*.aif
*.exe
1 change: 1 addition & 0 deletions Macintosh/68k.r
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "Processes.r"#include "Retro68.r"resource 'SIZE' (-1) { reserved, ignoreSuspendResumeEvents, reserved, cannotBackground, needsActivateOnFGSwitch, backgroundAndForeground, dontGetFrontClicks, ignoreChildDiedEvents, is32BitCompatible, notHighLevelEventAware, onlyLocalHLEvents, notStationeryAware, dontUseTextEditServices, reserved, reserved, reserved, 1024 * 512, 1024 * 512};
Expand Down
51 changes: 51 additions & 0 deletions Macintosh/COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
あるふぁ~秘密基地ホームページにて配布されているファイルは BSD スタイルライセンスのもと配布されます。
ソフトにライセンスのテキストが付属されている場合はそちらを優先してください。
The distributed file is original distributed about the BSD style license.
Please give priority to that when the text of the license is attached to software.


<JAPANESE>
ライセンス
-------
Copyright あるふぁ~秘密基地. All rights reserved.

1.ソースコード形式であれバイナリ形式であれ、変更の有無に 関わらず、以下の条件を満たす限りにおいて、再配布および使用を許可します。

2.ソースコード形式で再配布する場合、上記著作権表示、 本条件書および下記責任限定規定を必ず含めてください。

バイナリ形式で再配布する場合、上記著作権表示、 本条件書および下記責任限定規定を、
配布物とともに提供される文書 および/または 他の資料に必ず含めてください。

本ソフトウェアは あるふぁ~秘密基地 によって、”現状のまま” 提供されるものとします。
本ソフトウェアについては、明示黙示を問わず、 商用品として通常そなえるべき品質をそなえているとの保証も、 特定の目的に適合するとの保証を含め、何の保証もなされません。
事由のいかんを問わず、 損害発生の原因いかんを問わず、且つ、 責任の根拠が契約であるか厳格責任であるか (過失その他) 不法行為であるかを問わず、あるふぁ~秘密基地 も寄与者も、 仮にそのような損害が発生する可能性を知らされていたとしても、 本ソフトウェアの使用から発生した直接損害、間接損害、偶発的な損害、
特別損害、懲罰的損害または結果損害のいずれに対しても (代替品または サービスの提供、使用機会、データまたは利益の損失の補償; または、業務の中断に対する補償を含め)責任をいっさい負いません。

<ENGLISH>
License
-------
Copyright Alpha Secret Base. All rights reserved.

Redistribution and use in source and binary forms,
with or without modification, are permitted provided that
the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

クリップ
Binary file not shown.
Binary file added Macintosh/FRAME1.BIN
Binary file not shown.
Binary file added Macintosh/FRAME2.BIN
Binary file not shown.
Binary file added Macintosh/FRAME3.BIN
Binary file not shown.
Binary file added Macintosh/FRAME4.BIN
Binary file not shown.
Binary file added Macintosh/FRAME5.BIN
Binary file not shown.
Binary file added Macintosh/FRAME6.BIN
Binary file not shown.
Binary file added Macintosh/FRAME7.BIN
Binary file not shown.
Binary file added Macintosh/FRAME8.BIN
Binary file not shown.
Binary file added Macintosh/FRAME9.BIN
Binary file not shown.
Binary file added Macintosh/FRAMES.BIN
Binary file not shown.
Binary file added Macintosh/HelloWorld.old
Binary file not shown.
24 changes: 24 additions & 0 deletions Macintosh/Makefile.macm68k
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

PREFIX=$(RETRO68)/m68k-apple-macos
CC=$(RETRO68)/bin/m68k-apple-macos-gcc
REZ=$(RETRO68)/bin/Rez
CFLAGS = -Os -fdata-sections -ffunction-sections
LDFLAGS= -Wl,--as-needed -Wl,--gc-sections -s
RINCLUDES=$(PREFIX)/RIncludes
REZFLAGS=-I$(RINCLUDES)
OBJS = src/main.o src/frames.o src/title.o src/rik.o src/rik1.o

HelloWorld.bin HelloWorld.APPL HelloWorld.dsk: HelloWorld.code.bin
$(REZ) $(REZFLAGS) \
--copy "HelloWorld.code.bin" \
./68k.r \
-t "APPL" -c "????" \
-o HelloWorld.bin --cc HelloWorld.APPL --cc HelloWorld.dsk


HelloWorld.code.bin: $(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $@ $(LDFLAGS)

.PHONY: clean
clean:
rm -f HelloWorld.bin HelloWorld.APPL HelloWorld.dsk HelloWorld.code.bin HelloWorld.code.bin.gdb src/main.o src/mac.o src/*.o
31 changes: 31 additions & 0 deletions Macintosh/Makefile.macppc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# path to RETRO68
PREFIX=$(RETRO68)/powerpc-apple-macos
CC=$(RETRO68)/bin/powerpc-apple-macos-gcc
CXX=$(RETRO68)/bin/powerpc-apple-macos-g++
REZ=$(RETRO68)/bin/Rez

SDL_INCLUDE=$(PREFIX)/include/SDL

CFLAGS = -D__MACOS__ -DCLASSICMAC -DMSB_FIRST -Wall -Wextra -Ofast -fdata-sections -ffunction-sections -I$(SDL_INCLUDE)
CXXFLAGS = $(CFLAGS)

LDFLAGS= -Wl,--as-needed -Wl,--gc-sections
RINCLUDES=$(PREFIX)/RIncludes
REZFLAGS=-I$(RINCLUDES)

OBJS = src/main.o src/frames.o src/title.o src/rik.o src/rik1.o
#SOURCES = $(patsubst %.o, %.c, $(OBJS))

CFLAGS += $(DEFS)

CIRight_PPC.bin CIRight_PPC.APPL CIRight_PPC.dsk: CIRight_PPC.xcoff
MakePEF CIRight_PPC.xcoff -o CIRight_PPC.pef
$(REZ) $(REZFLAGS) ./PPC.r -I$(RINCLUDES) -DCFRAG_NAME="\"CIRight_PPC\"" -o CIRight_PPC.bin --cc CIRight_PPC.dsk --cc CIRight_PPC.APPL --cc %CIRight_PPC.ad -t APPL -c ???? --data CIRight_PPC.pef


CIRight_PPC.xcoff: $(OBJS)
$(CXX) $(CXXFLAGS) $(OBJS) -o $@ $(LDFLAGS) # C++ used for linking because RetroConsole needs it

.PHONY: clean
clean:
rm -f CIRight_PPC.bin CIRight_PPC.APPL CIRight_PPC.dsk CIRight_PPC.xcoff CIRight_PPC.xcoff.gdb $(OBJS)
1 change: 1 addition & 0 deletions Macintosh/PPC.r
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "Processes.r"#include "CodeFragments.r"#ifndef CFRAG_NAME#define CFRAG_NAME "RetroPPC Application"#endifresource 'cfrg' (0) { { kPowerPCCFragArch, kIsCompleteCFrag, kNoVersionNum, kNoVersionNum, kDefaultStackSize, kNoAppSubFolder, kApplicationCFrag, kDataForkCFragLocator, kZeroOffset, kCFragGoesToEOF, CFRAG_NAME }};resource 'SIZE' (-1) { reserved, ignoreSuspendResumeEvents, reserved, cannotBackground, needsActivateOnFGSwitch, backgroundAndForeground, dontGetFrontClicks, ignoreChildDiedEvents, is32BitCompatible, notHighLevelEventAware, onlyLocalHLEvents, notStationeryAware, dontUseTextEditServices, reserved, reserved, reserved, 1024 * 4096, 1024 * 4096};
Expand Down
23 changes: 23 additions & 0 deletions Macintosh/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Ganbare Natsuki-San
==========================

Ganbare Natsuki-San is a game by Alpha Secret Base (now inactive).

It was officially ported to Windows, Debian (as a binary), Mac OSX, GP2X,
as well as a proprietary port for Xbox 360.

Unofficially, it was ported to the Sony PSP, Wiz, Caanoo, Dingoo and OpenPandora.
My version is based on the (partially) translated PSP version.

This source code builds and works for the GCW-Zero, RS-97, and the new Bittboy.
Other platforms are planned too.

Some bugs were fixed as well, with the aim of making the game portable.
Here are some of the changes :
* Fixed support for 64-bits platforms
* Loads 32-bitsz backgrounds instead of the 8-bits ones. (An error in the source code)

LICENSE
========

GNP is licensed under a BSD-like license. See COPYRIGHT file for more information.
25 changes: 25 additions & 0 deletions Macintosh/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Copyright Infringement for MacOS (System 1 - MacOS 9)
=======================================================

This is a port of Copyright Infringement The Regressive right for older MacOS based systems.

Rikuto has trapped you in one of his sick games once again and this time, he paired you with another mate !
Follow the onscreen instructions to get more points !

Mac specifics
==================

You can run this from a hard drive or run this from the floppy disk image.
You can either burn the floppy disk image to a real floppy (double density floppy) or use a GOTEK.

Note that you will need at least 384kb free RAM available for the CI_Right_512KMac.dsk version,
640kb for the Copyright_Infringement_Macintosh_System1_8.dsk version and 4MB of free RAM for the PowerPC version.

On an emulator like mini vmac, you can simply have System 1 in the first floppy slot and the game on the second one.
With macintosh.js, you can also place the game in the macintosh.js folder (On Linux, it's at $HOME) and it will mount it.

Changelog
=========

version 1.0 :
Initial version with no PCM sound
Binary file added Macintosh/RIK.BIN
Binary file not shown.
Binary file added Macintosh/RIK.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/RIK1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/RIKL.BIN
Binary file not shown.
Binary file added Macintosh/TITLE.BIN
Binary file not shown.
Binary file added Macintosh/frames1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Macintosh/frames9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions Macintosh/pngtomac.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import sys
from PIL import Image

def plot(x, y, white, base_addr, row_bytes):
byte = y * row_bytes + (x >> 3)
mask = 1 << (7 - (x % 8))

if white:
base_addr[byte] &= ~mask
else:
base_addr[byte] |= mask


def png_to_cga(png_file, output_cga):
image = Image.open(png_file).convert('1')
w, h = image.size

data = list(image.getdata())
cga_buffer = bytearray(512 * h // 8)

for y in range(h):
for x in range(w):
color = data[x + y * w]
plot(x, y, color, cga_buffer, (512 + 7) // 8)

with open(output_cga, 'wb') as f:
f.write(cga_buffer)

if __name__ == '__main__':
import sys

if len(sys.argv) < 3:
print("Usage: python png_to_mac.py <input_png> <output_mac>")
exit(1)

input_png = sys.argv[1]
output_cga = sys.argv[2]
png_to_cga(input_png, output_cga)
Loading

0 comments on commit d5ce1e6

Please sign in to comment.