From owner-freebsd-games@freebsd.org Sat Apr 24 12:36:59 2021 Return-Path: Delivered-To: freebsd-games@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 374155FE8C6 for ; Sat, 24 Apr 2021 12:36:59 +0000 (UTC) (envelope-from kpedersen@disroot.org) Received: from knopi.disroot.org (knopi.disroot.org [178.21.23.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4FS9dj5nHRz4tBr for ; Sat, 24 Apr 2021 12:36:57 +0000 (UTC) (envelope-from kpedersen@disroot.org) Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 706E953A45 for ; Sat, 24 Apr 2021 14:36:56 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with UTF8SMTP id EF3hXqbpUemn for ; Sat, 24 Apr 2021 14:36:55 +0200 (CEST) Date: Sat, 24 Apr 2021 12:36:47 +0000 From: Karsten Pedersen To: freebsd-games@freebsd.org Subject: MDCC - Mega Drive C Toolchain Message-ID: <20210424123647.GA94604@dae.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 4FS9dj5nHRz4tBr X-Spamd-Bar: - X-Spamd-Result: default: False [-1.50 / 15.00]; ARC_NA(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[178.21.23.139:from]; R_DKIM_ALLOW(-0.20)[disroot.org:s=mail]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+a:c]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-games@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[178.21.23.139:from:127.0.2.255]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[disroot.org:+]; DMARC_POLICY_ALLOW(-0.50)[disroot.org,quarantine]; NEURAL_SPAM_SHORT(1.00)[1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:50673, ipnet:178.21.23.0/24, country:NL]; MAILMAN_DEST(0.00)[freebsd-games] X-BeenThere: freebsd-games@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Support for Games on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Apr 2021 12:36:59 -0000 Hi all, In preparation for a games jam at work I put together a GCC based toolchain for the Mega Drive. I thought I would post a link here in case anyone finds it useful. https://github.com/osen/mdcc Really the majority of work was done from the SGDK and gendev projects, all I did was reimplement the build system into a simple shell script. I found the original "cross platform" Makefile system to be very confusing and had a number of breakages on FreeBSD. This script should be much easier to maintain. Some really weird stuff was that it compiles z80 assembly files, only to decompile them again into m68k assembly files to build them. Presumably something to do with the sound chip. I also removed the dependency on Java for building the embedded resources. I use my own resources system (basically bin2h) so didn't want to drag in Java just to build the toolchain. Later on I plan to rewrite the Java tool (rescomp) into C or C++ anyway. Thanks, Karsten