//
-// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
+// RMAC - Reboot's Macro Assembler for all Atari computers
// LISTING.C - Listing Output
-// Copyright (C) 199x Landon Dyer, 2011-2012 Reboot and Friends
+// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends
// RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
// Source utilised with the kind permission of Landon Dyer
//
// nnnnn =vvvvvvvv
#include "listing.h"
-#include "version.h"
-#include "token.h"
+#include "error.h"
#include "procln.h"
#include "sect.h"
-#include "error.h"
+#include "token.h"
+#include "version.h"
char * list_fname; // Listing filename
uint8_t subttl[TITLESIZ]; // Current subtitle
//
// Return GEMDOS format date
//
-VALUE dos_date(void)
+uint32_t dos_date(void)
{
- VALUE v;
+ uint32_t v;
struct tm * tm;
time_t tloc;
//
// Return GEMDOS format time
//
-VALUE dos_time(void)
+uint32_t dos_time(void)
{
- VALUE v;
+ uint32_t v;
struct tm * tm;
time_t tloc;
//
// Generate a time string
//
-void time_string(char * buf, VALUE time)
+void time_string(char * buf, uint32_t time)
{
int hour;
char * ampm;
//
// Generate a date string
//
-void date_string(char * buf, VALUE date)
+void date_string(char * buf, uint32_t date)
{
sprintf(buf, "%d-%s-%d",
(int)(date & 0x1F), month[(date >> 5) & 0xF], (int)((date >> 9) + 1980));
if (listing <= 0)
return;
- // Notice bottom of page
- if (nlines >= pagelen - BOT_MAR)
- eject();
-
- // Print title, boilerplate, and subtitle at top of page
- if (nlines == 0)
+ if (list_pag)
{
- pageno++;
- println("");
- date_string(datestr, dos_date());
- time_string(timestr, dos_time());
- sprintf(buf,
- "%-40s%-20s Page %-4d %s %s RMAC %01i.%01i.%02i (%s)",
- title, curfname, pageno, timestr, datestr, MAJOR, MINOR, PATCH,
- PLATFORM);
- println(buf);
- sprintf(buf, "%s", subttl);
- println(buf);
- println("");
- nlines = 4;
+ // Notice bottom of page
+ if (nlines >= pagelen - BOT_MAR)
+ eject();
+
+ // Print title, boilerplate, and subtitle at top of page
+ if (nlines == 0)
+ {
+ pageno++;
+ println("");
+ date_string(datestr, dos_date());
+ time_string(timestr, dos_time());
+ sprintf(buf,
+ "%-40s%-20s Page %-4d %s %s RMAC %01i.%01i.%02i (%s)",
+ title, curfname, pageno, timestr, datestr, MAJOR, MINOR, PATCH,
+ PLATFORM);
+ println(buf);
+ sprintf(buf, "%s", subttl);
+ println(buf);
+ println("");
+ nlines = 4;
+ }
}
println(ln);
//
void InitListing(void)
{
- extern VALUE dos_date(), dos_time();
-
subflag = 0;
pageno = 0;
nlines = 0;
//
// Output a value to listing
//
-int listvalue(VALUE v)
+int listvalue(uint32_t v)
{
sprintf(buf, "=%08X", v);
strncpy(lnimage + DATA_COL - 1, buf, 9);